On Fri, Feb 12, 2021 at 11:59:28AM +0100, Arnd Bergmann wrote: > On Fri, Feb 12, 2021 at 11:42 AM Song Bao Hua (Barry Song) > <song.bao.hua@xxxxxxxxxxxxx> wrote: > > > > Ok, second thought. irqsave before generic_handle_irq() won't defeat > > the purpose of preemption too much as the dispatched irq handlers by > > gpiochip will run in their own threads but not in the thread of > > gpiochip's handler. > > > > so looks like this patch can improve by: > > * move other raw_spin_lock_irqsave to raw_spin_lock; > > * keep the raw_spin_lock_irqsave before generic_handle_irq() to mute > > the warning in genirq. > > It seems that the other drivers just call handle_nested_irq() instead > of generic_handle_irq(). And IIRC all of them request threaded IRQ explicitly. -- With Best Regards, Andy Shevchenko