projects/linux·commit 136eb5fd

Merge tag 'pm-6.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

136eb5fd · Linus Torvalds <[email protected]> · 2024-04-11 12:00:25 -07:00

Pull power management fix from Rafael Wysocki:
 "Fix the suspend-to-idle core code to guarantee that timers queued on
  CPUs other than the one that has first left the idle state, which
  should expire directly after resume, will be handled (Anna-Maria
  Behnsen)"

* tag 'pm-6.9-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  PM: s2idle: Make sure CPUs will wakeup directly on resume
Commit
136eb5fd6a5d4e87f5c64a721b48b8a5da5351f3
Parents
2ae9a897 · 3c89a068

Merge commit. Changes below are compared with the first parent: 2ae9a897.

Changes

1 files changed · +6 −0

FileStatusAddDelContent
kernel/power/suspend.cmodified+6−0View file

kernel/power/suspend.c

View file
diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c
index e3ae93b..09f8397 100644
--- a/kernel/power/suspend.c
+++ b/kernel/power/suspend.c
@@ -106,6 +106,12 @@ static void s2idle_enter(void)
swait_event_exclusive(s2idle_wait_head,
s2idle_state == S2IDLE_STATE_WAKE);
+ /*
+ * Kick all CPUs to ensure that they resume their timers and restore
+ * consistent system state.
+ */
+ wake_up_all_idle_cpus();
+
cpus_read_unlock();
raw_spin_lock_irq(&s2idle_lock);