]> Git Repo - linux.git/blobdiff - drivers/firmware/psci/psci.c
Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
[linux.git] / drivers / firmware / psci / psci.c
index 18a47c9d5b02ba63eb547aa9277f405aa49fca2a..cfb448eabdaa22e367c5f9159cdc9ddfd782332f 100644 (file)
@@ -343,10 +343,15 @@ int psci_cpu_suspend_enter(u32 state)
 {
        int ret;
 
-       if (!psci_power_state_loses_context(state))
+       if (!psci_power_state_loses_context(state)) {
+               struct arm_cpuidle_irq_context context;
+
+               arm_cpuidle_save_irq_context(&context);
                ret = psci_ops.cpu_suspend(state, 0);
-       else
+               arm_cpuidle_restore_irq_context(&context);
+       } else {
                ret = cpu_suspend(state, psci_suspend_finisher);
+       }
 
        return ret;
 }
This page took 0.033928 seconds and 4 git commands to generate.