linux/drivers/base/power
Rafael J. Wysocki f71648d73c PM / Runtime: Remove idle notification after failing suspend
If runtime suspend of a device fails returning -EAGAIN or -EBUSY,
which means that it's safe to try to suspend it again, the PM core
runs the runtime idle helper function for it.  Unfortunately this may
lead to problems, for example for PCI devices whose drivers don't
implement the ->runtime_idle() callback, because in that case the
PCI bus type's ->runtime_idle() always calls pm_runtime_suspend()
for the given device.  Then, if there's an automatic idle
notification after the driver's ->runtime_suspend() returning -EAGAIN
or -EBUSY, it will make the suspend happen again possibly causing a
busy loop to appear.  To avoid that, remove the idle notification
after failing runtime suspend of a device altogether and let the
callers of pm_runtime_suspend() repeat the operation if need be.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
2010-10-17 01:57:49 +02:00
..
generic_ops.c PM / Runtime: Lenient generic runtime pm callbacks 2010-10-17 01:57:41 +02:00
main.c PM: Fix potential issue with failing asynchronous suspend 2010-10-17 01:57:43 +02:00
Makefile PM: Make it possible to avoid races between wakeup and system sleep 2010-07-19 01:58:48 +02:00
power.h PM / Runtime: Add no_callbacks flag 2010-10-17 01:57:47 +02:00
runtime.c PM / Runtime: Remove idle notification after failing suspend 2010-10-17 01:57:49 +02:00
sysfs.c PM / Runtime: Implement autosuspend support 2010-10-17 01:57:48 +02:00
trace.c driver core: struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-06 10:44:31 -08:00
wakeup.c PM / Wakeup: Introduce wakeup source objects and event statistics (v3) 2010-10-17 01:57:43 +02:00