1
0

PM: s2idle: Extend comment in s2idle_enter()

The s2idle_lock must be held while checking for a pending wakeup and while
moving into S2IDLE_STATE_ENTER, to make sure a wakeup doesn't get lost.
Let's extend the comment in the code to make this clear.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://patch.msgid.link/20250311160827.1129643-3-ulf.hansson@linaro.org
[ rjw: Rewrote the new comment ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Ulf Hansson
2025-03-11 17:08:23 +01:00
committed by Rafael J. Wysocki
parent 0f42194c6b
commit 4b7d654258

View File

@@ -95,8 +95,12 @@ static void s2idle_enter(void)
* The correctness of the code below depends on the number of online
* CPUs being stable, but CPUs cannot be taken offline or put online
* while it is running.
*
* The s2idle_lock must be acquired before the pending wakeup check to
* prevent pm_system_wakeup() from running as a whole between that check
* and the subsequent s2idle_state update in which case a wakeup event
* would get lost.
*/
raw_spin_lock_irq(&s2idle_lock);
if (pm_wakeup_pending())
goto out;