PM / runtime: Check ignore_children in pm_runtime_need_not_resume()
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 15 Jan 2018 00:46:25 +0000 (01:46 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 15 Jan 2018 16:21:19 +0000 (17:21 +0100)
Modify pm_runtime_need_not_resume() to make it avoid taking
power.child_count for devices with power.ignore_children which
is consistent with the runtime PM usage of these fields.

Suggested-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/base/power/runtime.c

index 84832f1a75bf77c221742a724d8fbbf553e6ee60..cb5e48b86453067550be7ed36bb394fdfbe8c867 100644 (file)
@@ -1616,7 +1616,8 @@ void pm_runtime_drop_link(struct device *dev)
 static bool pm_runtime_need_not_resume(struct device *dev)
 {
        return atomic_read(&dev->power.usage_count) <= 1 &&
-               atomic_read(&dev->power.child_count) == 0;
+               (atomic_read(&dev->power.child_count) == 0 ||
+                dev->power.ignore_children);
 }
 
 /**