[PATCH v2] PM / wakeirq: Convert to SRCU
tony at atomide.com
Mon Jun 26 03:15:57 PDT 2017
* Paul E. McKenney <paulmck at linux.vnet.ibm.com> [170625 11:29]:
> On Sun, Jun 25, 2017 at 07:31:13PM +0200, Thomas Gleixner wrote:
> > 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: 4990d4fe327b ("PM / Wakeirq: Add automated device wake IRQ handling")
> > Reported-by: Brian Norris <briannorris at chromium.org>
> > Suggested-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
> > Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> Looks good to me!
> Reviewed-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com>
And still works for me!
Tested-by: Tony Lindgren <tony at atomide.com>
More information about the Linux-rockchip