summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2010-12-24 15:04:06 +0100
committerRafael J. Wysocki <rjw@sisk.pl>2010-12-24 15:04:06 +0100
commit4b31db8a16fa0d4d6a0fa42d044e7a4f4dad3641 (patch)
tree4075d84f26fdd8e70ec62c9b541caa1ea23cebda /drivers/base
parentPM: Use dev_name() in core device suspend and resume routines (diff)
downloadlinux-4b31db8a16fa0d4d6a0fa42d044e7a4f4dad3641.tar.xz
linux-4b31db8a16fa0d4d6a0fa42d044e7a4f4dad3641.zip
PM / Runtime: Generic resume shouldn't set RPM_ACTIVE unconditionally
The __pm_generic_resume() function changes the given device's runtime PM status to RPM_ACTIVE if its driver's callback returns 0, but it only should do that if the rumtime PM is enabled for the device. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/generic_ops.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/base/power/generic_ops.c b/drivers/base/power/generic_ops.c
index 3d2c3500069a..42f97f925629 100644
--- a/drivers/base/power/generic_ops.c
+++ b/drivers/base/power/generic_ops.c
@@ -185,7 +185,7 @@ static int __pm_generic_resume(struct device *dev, int event)
return 0;
ret = callback(dev);
- if (!ret) {
+ if (!ret && pm_runtime_enabled(dev)) {
pm_runtime_disable(dev);
pm_runtime_set_active(dev);
pm_runtime_enable(dev);