linux/drivers/base/power
Rafael J. Wysocki 9e08cf4296 PM / Domains: Make pm_genpd_poweron() always survive parent removal
If pm_genpd_remove_subdomain() is called to remove a PM domain's
subdomain and pm_genpd_poweron() is called for that subdomain at
the same time, and the pm_genpd_poweron() called by it recursively
for the parent returns an error, the first pm_genpd_poweron()'s
error code path will attempt to decrement the subdomain counter of
a PM domain that it's not a subdomain of any more.

Rearrange the code in pm_genpd_poweron() to prevent this from
happening.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2011-08-25 15:33:44 +02:00
..
clock_ops.c PM: Use spinlock instead of mutex in clock management functions 2011-08-24 21:40:56 +02:00
domain.c PM / Domains: Make pm_genpd_poweron() always survive parent removal 2011-08-25 15:33:44 +02:00
generic_ops.c PM: Introduce generic "noirq" callback routines for subsystems (v2) 2011-07-02 14:29:55 +02:00
main.c PM: Limit race conditions between runtime PM and system sleep (v2) 2011-07-06 10:51:58 +02:00
Makefile PM / Domains: Support for generic I/O PM domains (v8) 2011-07-02 14:29:55 +02:00
opp.c drivers/base/power/opp.c: fix dev_opp initial value 2011-07-26 16:49:41 -07:00
power.h PM: Do not create wakeup sysfs files for devices that cannot wake up 2011-03-15 00:43:14 +01:00
runtime.c PM / Runtime: Allow _put_sync() from interrupts-disabled context 2011-08-05 21:45:20 +02:00
sysfs.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
trace.c PM: Add "RTC" to PM trace time stamps to avoid confusion 2011-07-15 23:58:19 +02:00
wakeup.c PM / Wakeup: Remove useless synchronize_rcu() call 2011-05-17 23:19:19 +02:00