mirror-linux/drivers/base
Johan Hovold 8ab9ad1638 PM: sleep: wakeirq: fix wake irq arming
commit 8527beb120 upstream.

The decision whether to enable a wake irq during suspend can not be done
based on the runtime PM state directly as a driver may use wake irqs
without implementing runtime PM. Such drivers specifically leave the
state set to the default 'suspended' and the wake irq is thus never
enabled at suspend.

Add a new wake irq flag to track whether a dedicated wake irq has been
enabled at runtime suspend and therefore must not be enabled at system
suspend.

Note that pm_runtime_enabled() can not be used as runtime PM is always
disabled during late suspend.

Fixes: 69728051f5 ("PM / wakeirq: Fix unbalanced IRQ enable for wakeirq")
Cc: 4.16+ <stable@vger.kernel.org> # 4.16+
Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
Reviewed-by: Tony Lindgren <tony@atomide.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-08-03 10:24:16 +02:00
..
firmware_loader
power PM: sleep: wakeirq: fix wake irq arming 2023-08-03 10:24:16 +02:00
regmap regmap: Account for register length in SMBus I/O limits 2023-07-27 08:50:26 +02:00
test driver core: Fix test_async_probe_init saves device in wrong array 2023-02-01 08:34:26 +01:00
Kconfig
Makefile
arch_numa.c
arch_topology.c RISC-V Patches for the 6.1 Merge Window, Part 1 2022-10-09 13:24:01 -07:00
attribute_container.c
auxiliary.c
base.h
bus.c
cacheinfo.c drivers: base: cacheinfo: Fix shared_cpu_map changes in event of CPU hotplug 2023-06-09 10:34:17 +02:00
class.c class: fix possible memory leak in __class_register() 2022-12-31 13:32:38 +01:00
component.c drivers: base: component: fix memory leak with using debugfs_lookup() 2023-03-11 13:55:39 +01:00
container.c
core.c driver core: fw_devlink: Avoid spurious error message 2023-03-10 09:34:01 +01:00
cpu.c tick/nohz: Fix cpu_is_hotpluggable() by checking with nohz subsystem 2023-05-11 23:03:01 +09:00
dd.c driver core: Don't require dynamic_debug for initcall_debug probe timing 2023-05-01 08:26:27 +09:00
devcoredump.c
devres.c
devtmpfs.c
driver.c
firmware.c
hypervisor.c
init.c
isa.c
map.c
memory.c
module.c
node.c - Yu Zhao's Multi-Gen LRU patches are here. They've been under test in 2022-10-10 17:53:04 -07:00
physical_location.c driver core: location: Free struct acpi_pld_info *pld before return false 2023-03-10 09:33:33 +01:00
physical_location.h
pinctrl.c
platform-msi.c
platform.c platform: Provide a remove callback that returns no value 2023-05-24 17:32:43 +01:00
property.c drivers: fwnode: fix fwnode_irq_get[_byname]() 2023-07-19 16:21:57 +02:00
soc.c
swnode.c
syscore.c
topology.c
trace.c
trace.h
transport_class.c drivers: base: transport_class: fix resource leak when transport_add_device() fails 2023-03-10 09:33:34 +01:00