On Sat, Jun 24, 2017 at 11:56 AM, Thomas Gleixner <tglx at linutronix.de> 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 chromium.org> > Suggested-by: Paul E. McKenney <paulmck at linux.vnet.ibm.com> > Signed-off-by: Thomas Gleixner <tglx at linutronix.de> > Cc: stable at vger.kernel.org OK I guess it would be good to get this into 4.12? Thanks, Rafael