| From | "Rafael J. Wysocki" <> | Subject | [PATCH 7/10 v6] PM / Domains: Don't stop wakeup devices during system sleep transitions | Date | Sat, 25 Jun 2011 23:29:24 +0200 |
| |
From: Rafael J. Wysocki <rjw@sisk.pl>
Devices that are set up to wake up the system from sleep states should not be stopped and power should not be removed from them when the system goes into a sleep state. Make the generic PM domain code respect that limitation.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> --- drivers/base/power/domain.c | 6 ++++++ 1 file changed, 6 insertions(+)
Index: linux-2.6/drivers/base/power/domain.c =================================================================== --- linux-2.6.orig/drivers/base/power/domain.c +++ linux-2.6/drivers/base/power/domain.c @@ -445,6 +445,9 @@ static int pm_genpd_suspend_noirq(struct if (ret) return ret; + if (device_may_wakeup(dev)) + return 0; + if (genpd->stop_device) genpd->stop_device(dev); @@ -665,6 +668,9 @@ static int pm_genpd_dev_poweroff_noirq(s if (ret) return ret; + if (device_may_wakeup(dev)) + return 0; + if (genpd->stop_device) genpd->stop_device(dev);
|