[PATCH 7/10 v6] PM / Domains: Don't stop wakeup devices during system sleep transitions

From: Rafael J. Wysocki
Date: Sat Jun 25 2011 - 17:32:25 EST


From: Rafael J. Wysocki <rjw@xxxxxxx>

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@xxxxxxx>
---
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);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/