Rafael J. Wysocki
7bf4e594c2
PM / wakeup: Do not fail dev_pm_attach_wake_irq() unnecessarily
...
Returning an error code from dev_pm_attach_wake_irq() if
device_wakeup_attach_irq() called by it returns an error is
pointless, because the wakeup source used by it may be deleted
by user space via sysfs at any time and in particular right after
dev_pm_attach_wake_irq() has returned. Moreover, it requires
the callers of dev_pm_attach_wake_irq() to create that wakeup
source via device_wakeup_enable() upfront, but that obviously is
racy with respect to the sysfs-based manipulations of it.
To avoid the race, modify device_wakeup_attach_irq() to check
that the wakeup source it is going to use is there (and return
early otherwise), make it void (as it cannot fail after that
change) and make dev_pm_attach_wake_irq() simply call it for
the device unconditionally.
Tested-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-01-09 13:09:16 +01:00
..
power
PM / wakeup: Do not fail dev_pm_attach_wake_irq() unnecessarily
2018-01-09 13:09:16 +01:00
regmap
regmap: Updates for v4.15
2017-11-13 09:45:34 -08:00
test
Driver core patches for 4.15-rc1
2017-11-16 08:55:30 -08:00
arch_topology.c
Driver core patches for 4.15-rc1
2017-11-16 08:55:30 -08:00
attribute_container.c
base.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
bus.c
driver core: bus: Fix a potential double free
2017-08-31 18:57:30 +02:00
cacheinfo.c
Merge branch 'x86-cache-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2016-12-22 09:25:45 -08:00
class.c
driver core: remove class_attrs from struct class
2017-06-09 10:41:00 +02:00
component.c
container.c
core.c
Driver core patches for 4.15-rc1
2017-11-16 08:55:30 -08:00
cpu.c
Power management updates for v4.15-rc1
2017-11-13 19:43:50 -08:00
dd.c
Driver core patches for 4.15-rc1
2017-11-16 08:55:30 -08:00
devcoredump.c
driver core: devcoredump: convert to use class_groups
2016-11-29 21:12:12 +01:00
devres.c
devres: add devm_alloc_percpu()
2016-11-15 22:34:25 -05:00
devtmpfs.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
dma-coherent.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
dma-contiguous.c
cma: Store a name in the cma structure
2017-04-18 20:41:12 +02:00
dma-mapping.c
dma-coherent: remove the DMA_MEMORY_MAP and DMA_MEMORY_IO flags
2017-09-01 11:59:17 +02:00
driver.c
firmware.c
firmware_class.c
Revert "firmware: add sanity check on shutdown/suspend"
2017-09-10 21:19:06 -07:00
hypervisor.c
init.c
isa.c
isa: Prevent NULL dereference in isa_bus driver callbacks
2017-11-28 16:40:58 +01:00
Kconfig
firmware: cleanup FIRMWARE_IN_KERNEL message
2017-11-28 16:47:46 +01:00
Makefile
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
map.c
memory.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
module.c
node.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
pinctrl.c
driver core: fix automatic pinctrl management
2017-06-13 11:07:32 +02:00
platform-msi.c
irqchip/MSI: Use irq_domain_update_bus_token instead of an open coded access
2017-06-22 18:29:17 +02:00
platform.c
drivers: flag buses which demand DMA configuration
2017-10-19 16:34:52 +02:00
property.c
device property: Make fwnode_handle_get() return the fwnode
2017-11-09 00:17:22 +01:00
soc.c
base: soc: Allow early registration of a single SoC device
2017-03-29 21:43:26 +02:00
syscore.c
topology.c
base: topology: constify attribute_group structures.
2017-08-28 17:49:22 +02:00
transport_class.c