linux/drivers/base/power
Thomas Gleixner ea0212f40c PM / wakeirq: Convert to SRCU
The wakeirq infrastructure uses RCU to protect the list of wakeirqs. That
breaks the irq bus locking infrastructure, which is allows sleeping
functions to be called so interrupt controllers behind slow busses,
e.g. i2c, can be handled.

The wakeirq functions hold rcu_read_lock and call into irq functions, which
in case of interrupts using the irq bus locking will trigger a
might_sleep() splat.

Convert the wakeirq infrastructure to Sleepable RCU and unbreak it.

Fixes: 4990d4fe32 (PM / Wakeirq: Add automated device wake IRQ handling)
Reported-by: Brian Norris <briannorris@chromium.org>
Suggested-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Tested-by: Tony Lindgren <tony@atomide.com>
Tested-by: Brian Norris <briannorris@chromium.org>
Cc: 4.2+ <stable@vger.kernel.org> # 4.2+
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2017-06-27 01:51:04 +02:00
..
opp PM / OPP: fix off-by-one bug in dev_pm_opp_get_max_volt_latency loop 2017-02-23 23:00:31 +01:00
clock_ops.c PM / clk: Add support for adding a specific clock from device-tree 2016-06-28 00:42:10 +02:00
common.c
domain_governor.c
domain.c ARM: SoC driver updates 2017-05-09 10:01:15 -07:00
generic_ops.c
main.c Revert "ACPI / sleep: Ignore spurious SCI wakeups from suspend-to-idle" 2017-06-07 00:57:37 +02:00
Makefile
power.h Driver core patches for 4.10-rc1 2016-12-13 11:42:18 -08:00
qos.c Merge branches 'pm-cpuidle', 'pm-cpufreq' and 'pm-sleep' 2017-03-03 00:43:11 +01:00
runtime.c sched/headers: Prepare to move the memalloc_noio_*() APIs to <linux/sched/mm.h> 2017-03-02 08:42:33 +01:00
sysfs.c PM / QoS: Improve sysfs pm_qos_latency_tolerance validation 2016-11-30 22:34:23 +01:00
trace.c timekeeping: Ignore the bogus sleep time if pm_trace is enabled 2016-11-29 18:02:58 +01:00
wakeirq.c PM / wakeirq: report a wakeup_event on dedicated wekup irq 2017-02-13 22:29:30 +01:00
wakeup.c PM / wakeirq: Convert to SRCU 2017-06-27 01:51:04 +02:00