Loading kernel/power/suspend.c +11 −7 Original line number Diff line number Diff line Loading @@ -120,22 +120,26 @@ static void s2idle_loop(void) * frozen processes + suspended devices + idle processors. * Thus s2idle_enter() should be called right after * all devices have been suspended. * * Wakeups during the noirq suspend of devices may be spurious, * so prevent them from terminating the loop right away. */ error = dpm_noirq_suspend_devices(PMSG_SUSPEND); if (!error) s2idle_enter(); else if (error == -EBUSY && pm_wakeup_pending()) error = 0; dpm_noirq_resume_devices(PMSG_RESUME); if (error && (error != -EBUSY || !pm_wakeup_pending())) { dpm_noirq_end(); break; } if (s2idle_ops && s2idle_ops->wake) if (!error && s2idle_ops && s2idle_ops->wake) s2idle_ops->wake(); dpm_noirq_resume_devices(PMSG_RESUME); dpm_noirq_end(); if (error) break; if (s2idle_ops && s2idle_ops->sync) s2idle_ops->sync(); Loading Loading
kernel/power/suspend.c +11 −7 Original line number Diff line number Diff line Loading @@ -120,22 +120,26 @@ static void s2idle_loop(void) * frozen processes + suspended devices + idle processors. * Thus s2idle_enter() should be called right after * all devices have been suspended. * * Wakeups during the noirq suspend of devices may be spurious, * so prevent them from terminating the loop right away. */ error = dpm_noirq_suspend_devices(PMSG_SUSPEND); if (!error) s2idle_enter(); else if (error == -EBUSY && pm_wakeup_pending()) error = 0; dpm_noirq_resume_devices(PMSG_RESUME); if (error && (error != -EBUSY || !pm_wakeup_pending())) { dpm_noirq_end(); break; } if (s2idle_ops && s2idle_ops->wake) if (!error && s2idle_ops && s2idle_ops->wake) s2idle_ops->wake(); dpm_noirq_resume_devices(PMSG_RESUME); dpm_noirq_end(); if (error) break; if (s2idle_ops && s2idle_ops->sync) s2idle_ops->sync(); Loading