diff mbox series

[v1,07/10] PM: sleep: Clear the power.set_active upfront

Message ID 23846285.6Emhk5qWAg@rjwysocki.net (mailing list archive)
State Superseded, archived
Headers show
Series PM: Make the core and pm_runtime_force_suspend/resume() agree more | expand

Commit Message

Rafael J. Wysocki Feb. 11, 2025, 9:11 p.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

Instead of clearing power.set_active right after it has been used,
clear it when the other related flags (power.may_skip_resume and
power.must_resume) are initialized, so it remains set throughout
system-wide resume transitions and can be checked at any time while
they are still in progress.

This is done in preparation for subsequent changes and it should not
alter the kernel behavior.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/base/power/main.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)
diff mbox series

Patch

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -659,12 +659,10 @@ 
 	 * status to "active" unless its power.set_active flag is clear, in
 	 * which case it is not necessary to update its PM-runtime status.
 	 */
-	if (skip_resume) {
+	if (skip_resume)
 		pm_runtime_set_suspended(dev);
-	} else if (dev->power.set_active) {
+	else if (dev->power.set_active)
 		pm_runtime_set_active(dev);
-		dev->power.set_active = false;
-	}
 
 	if (dev->pm_domain) {
 		info = "noirq power domain ";
@@ -1662,6 +1660,7 @@ 
 
 	dev->power.may_skip_resume = true;
 	dev->power.must_resume = !dev_pm_test_driver_flags(dev, DPM_FLAG_MAY_SKIP_RESUME);
+	dev->power.set_active = false;
 
 	dpm_watchdog_set(&wd, dev);
 	device_lock(dev);