diff mbox series

[v1,02/10] PM: sleep: core: Use pm_runtime_no_support() during set_active updates

Message ID 3876702.kQq0lBPeGt@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:03 p.m. UTC
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

It is pointless to set power.set_active for devices that have never had
runtime PM enabled, so don't do that.

Fixes: 7585946243d6 ("PM: sleep: core: Restrict power.set_active propagation")
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
---
 drivers/base/power/main.c |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff mbox series

Patch

--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -1281,9 +1281,11 @@ 
 		dev->power.must_resume = true;
 
 	if (dev->power.must_resume) {
-		if (dev_pm_test_driver_flags(dev, DPM_FLAG_SMART_SUSPEND)) {
+		if (dev_pm_test_driver_flags(dev, DPM_FLAG_SMART_SUSPEND) &&
+		    !pm_runtime_no_support(dev)) {
 			dev->power.set_active = true;
-			if (dev->parent && !dev->parent->power.ignore_children)
+			if (dev->parent && !dev->parent->power.ignore_children &&
+			    !pm_runtime_no_support(dev->parent))
 				dev->parent->power.set_active = true;
 		}
 		dpm_superior_set_must_resume(dev);