linux/drivers/base/power
Rafael J. Wysocki 3a17fb329d PM / sleep: Handle failures in device_suspend_late() consistently
Grygorii Strashko reports:

 The PM runtime will be left disabled for the device if its
 .suspend_late() callback fails and async suspend is not allowed
 for this device. In this case device will not be added in
 dpm_late_early_list and dpm_resume_early() will ignore this
 device, as result PM runtime will be disabled for it forever
 (side effect: after 8 subsequent failures for the same device
 the PM runtime will be reenabled due to disable_depth overflow).

To fix this problem, add devices to dpm_late_early_list regardless
of whether or not device_suspend_late() returns errors for them.

That will ensure failures in there to be handled consistently for
all devices regardless of their async suspend/resume status.

Reported-by: Grygorii Strashko <grygorii.strashko@ti.com>
Tested-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: All applicable <stable@vger.kernel.org>
2016-05-20 23:09:49 +02:00
..
opp PM / OPP: Rename structures for clarity 2016-02-21 14:24:35 +01:00
clock_ops.c PM / clk: Add support for obtaining clocks from device-tree 2016-03-17 02:32:04 +01:00
common.c PM: Avoid false-positive warnings in dev_pm_domain_set() 2016-02-03 19:10:37 +01:00
domain_governor.c PM / Domains: Support for multiple states 2016-02-15 23:18:15 +01:00
domain.c PM / Domains: Fix potential NULL pointer dereference 2016-03-09 00:41:07 +01:00
generic_ops.c PM / PCI / ACPI: Kick devices that might have been reset by firmware 2015-10-14 02:17:34 +02:00
main.c PM / sleep: Handle failures in device_suspend_late() consistently 2016-05-20 23:09:49 +02:00
Makefile PM / OPP: Move opp core to its own directory 2015-09-15 02:03:16 +02:00
power.h PM / sleep: Go direct_complete if driver has no callbacks 2016-01-08 01:12:06 +01:00
qos.c PM / QoS: Make it possible to expose device latency tolerance to userspace 2015-07-28 08:50:41 +01:00
runtime.c PM / Runtime: Fix error path in pm_runtime_force_resume() 2016-04-21 19:31:11 +02:00
sysfs.c PM / QoS: Make it possible to expose device latency tolerance to userspace 2015-07-28 08:50:41 +01:00
trace.c PM / sleep: declare __tracedata symbols as char[] rather than char 2016-02-11 11:07:08 +01:00
wakeirq.c PM / wakeirq: check that wake IRQ is valid before accepting it 2015-11-16 23:10:20 +01:00
wakeup.c PM / wakeirq: fix wakeirq setting after wakup re-configuration from sysfs 2016-04-07 22:23:47 +02:00