PM / wakeirq: Convert to SRCU

Rafael J. Wysocki rafael at
Sat Jun 24 05:02:56 PDT 2017

On Sat, Jun 24, 2017 at 11:56 AM, Thomas Gleixner <tglx at> wrote:
> The wakeirq infrastructure uses RCU to protect the list of wakeirqs. That
> breaks the irq bus locking infrastructure, which 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: 4990d4fe327b ("PM / Wakeirq: Add automated device wake IRQ handling")
> Reported-by: Brian Norris <briannorris at>
> Suggested-by: Paul E. McKenney <paulmck at>
> Signed-off-by: Thomas Gleixner <tglx at>
> Cc: stable at


I guess it would be good to get this into 4.12?


More information about the Linux-rockchip mailing list