On Sat, Dec 05 2020 at 17:24, Oleksandr Natalenko wrote: > On Sat, Dec 05, 2020 at 05:19:18PM +0100, Thomas Gleixner wrote: >> +/** >> + * generic_dispatch_irq - Dispatch an interrupt from an interrupt handler >> + * @irq: The irq number to handle >> + * >> + * A wrapper around generic_handle_irq() which ensures that interrupts are >> + * disabled when the primary handler of the dispatched irq is invoked. >> + * This is useful for interrupt handlers with dispatching to be safe for >> + * the forced threaded case. >> + */ >> +int generic_dispatch_irq(unsigned int irq) >> +{ >> + unsigned long flags; >> + int ret; >> + >> + local_irq_save(&flags); >> + ret = generic_handle_irq(irq); >> + local_irq_restore(&flags); > > FWIW, for me &flags explodes build on v5.10-rc6. I had to change it to local_irq_save/restore(flags) (without taking an address via &). That's right. Don't know what I was thinking when writing it and then compiling with the patch removed (just checked history ...) Oh, well