* 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>