Rafael J. Wysocki
75b66cc009
PM / core: Clear the direct_complete flag on errors
...
commit 69e445ab8b66a9f30519842ef18be555d3ee9b51 upstream.
If __device_suspend() runs asynchronously (in which case the device
passed to it is in dpm_suspended_list at that point) and it returns
early on an error or pending wakeup, and the power.direct_complete
flag has been set for the device already, the subsequent
device_resume() will be confused by that and it will call
pm_runtime_enable() incorrectly, as runtime PM has not been
disabled for the device by __device_suspend().
To avoid that, clear power.direct_complete if __device_suspend()
is not going to disable runtime PM for the device before returning.
Fixes: aae4518b31 (PM / sleep: Mechanism to avoid resuming runtime-suspended devices unnecessarily)
Reported-by: Al Cooper <alcooperx@gmail.com>
Tested-by: Al Cooper <alcooperx@gmail.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Cc: 3.16+ <stable@vger.kernel.org> # 3.16+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-10-13 09:18:54 +02:00
..
power
PM / core: Clear the direct_complete flag on errors
2018-10-13 09:18:54 +02:00
regmap
regmap: Correct comparison in regmap_cached
2018-05-30 07:50:51 +02:00
attribute_container.c
attribute_container: Fix typo
2016-08-31 15:13:56 +02:00
base.h
PM / sleep: prohibit devices probing during suspend/hibernation
2015-11-30 14:47:22 +01:00
bus.c
driver core: bus: Fix a potential double free
2017-09-09 17:39:38 +02:00
cacheinfo.c
drivers: base: cacheinfo: fix boot error message when acpi is enabled
2018-01-31 12:55:51 +01:00
class.c
class_find_device: fix reference to argument "match"
2015-09-29 15:23:14 +02:00
component.c
Merge 4.5-rc4 into driver-core-next
2016-02-14 14:29:55 -08:00
container.c
ACPI / hotplug / driver core: Handle containers in a special way
2013-12-29 15:25:48 +01:00
core.c
drivers/base: stop new probing during shutdown
2018-09-26 08:36:34 +02:00
cpu.c
x86/speculation/l1tf: Add sysfs reporting for l1tf
2018-08-15 18:14:45 +02:00
dd.c
driver core: Partially revert "driver core: correct device's shutdown order"
2018-07-28 07:49:13 +02:00
devcoredump.c
devcoredump: add scatterlist support
2016-04-15 11:20:32 -07:00
devres.c
devm: make allocations numa aware by default
2015-10-09 17:00:33 -04:00
devtmpfs.c
wrappers for ->i_mutex access
2016-01-22 18:04:28 -05:00
dma-coherent.c
drivers: dma-coherent: Move spinlock in dma_alloc_from_coherent()
2016-09-28 17:53:16 +02:00
dma-contiguous.c
driver core update for 4.4-rc1
2015-11-04 21:50:37 -08:00
dma-mapping.c
drivers/base dmam_declare_coherent_memory leaks
2016-08-31 15:19:55 +02:00
driver.c
driver core: add missing blank line after declaration
2015-03-25 14:36:30 +01:00
firmware.c
firmware_class.c
firmware: fix usermode helper fallback loading
2017-01-09 08:32:22 +01:00
hypervisor.c
init.c
drivers: of/base: move of_init to driver_init
2015-05-26 19:55:56 -07:00
isa.c
isa: Prevent NULL dereference in isa_bus driver callbacks
2017-12-14 09:28:11 +01:00
Kconfig
sysfs/cpu: Add vulnerability folder
2018-01-17 09:38:57 +01:00
Makefile
isa: Allow ISA-style drivers on modern systems
2016-06-17 20:21:12 -07:00
map.c
drivers: base: map: Use kmalloc_array instead of kmalloc
2015-03-25 14:35:08 +01:00
memory.c
base/memory, hotplug: fix a kernel oops in show_valid_zones()
2017-02-09 08:08:28 +01:00
module.c
base: make module_create_drivers_dir race-free
2016-06-15 19:21:31 -07:00
node.c
treewide: replace obsolete _refok by __ref
2016-08-02 17:31:41 -04:00
pinctrl.c
driver: base: pinctrl: return error from pinctrl_bind_pins()
2016-09-13 23:02:59 +02:00
platform-msi.c
genirq/msi: Add cpumask allocation to alloc_msi_entry
2016-09-14 22:11:08 +02:00
platform.c
driver core: platform: Don't read past the end of "driver_override" buffer
2017-10-12 11:51:24 +02:00
property.c
device property: Track owner device of device property
2017-10-18 09:35:39 +02:00
soc.c
base: soc: make it explicitly non-modular
2016-08-31 15:13:56 +02:00
syscore.c
genirq: Simplify wakeup mechanism
2014-09-01 13:48:59 +02:00
topology.c
topology/sysfs: provide drawer id and siblings attributes
2016-06-13 15:58:27 +02:00
transport_class.c