summaryrefslogtreecommitdiffstats
path: root/drivers/base/power
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-03-19 10:38:14 +0100
committerRafael J. Wysocki <rjw@sisk.pl>2012-03-19 10:38:14 +0100
commit18dd2ece3cde14cfd42e95a89eb14016699a5f15 (patch)
tree1897c7ac0337254058e4bfc7709bb8b19996da24 /drivers/base/power
parent57d13370cfaf6017c68981e66ff5b3bf20a2705c (diff)
downloadlinux-18dd2ece3cde14cfd42e95a89eb14016699a5f15.tar.bz2
PM / Domains: Check domain status during hibernation restore of devices
Power domains that were off before hibernation shouldn't be turned on during device restore, so prevent that from happening. This change fixes up commit 65533bbf63b4f37723fdfedc73d0653958973323 PM / Domains: Fix hibernation restore of devices, v2 that didn't include it by mistake. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/base/power')
-rw-r--r--drivers/base/power/domain.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index b6ff6ecf519d..73ce9fbe9839 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -1127,6 +1127,9 @@ static int pm_genpd_restore_noirq(struct device *dev)
}
}
+ if (genpd->suspend_power_off)
+ return 0;
+
pm_genpd_poweron(genpd);
return dev_gpd_data(dev)->always_on ? 0 : genpd_start_dev(genpd, dev);