On Thu, Sep 29, 2022 at 09:06:45PM +0000, Rishabh Bhatnagar wrote: > This patch series backports a bunch of patches related IRQ handling > with respect to freeing the irq line while IRQ is in flight at CPU > or at the hardware level. > Recently we saw this issue in serial 8250 driver where the IRQ was being > freed while the irq was in flight or not yet delivered to the CPU. As a > result the irqchip was going into a wedged state and IRQ was not getting > delivered to the cpu. These patches helped fixed the issue in 4.14 > kernel. > Let us know if more patches need backporting. > > Lukas Wunner (2): > genirq: Update code comments wrt recycled thread_mask > genirq: Synchronize only with single thread on free_irq() > > Thomas Gleixner (4): > genirq: Delay deactivation in free_irq() > genirq: Fix misleading synchronize_irq() documentation > genirq: Add optional hardware synchronization for shutdown > x86/ioapic: Implement irq_get_irqchip_state() callback > > arch/x86/kernel/apic/io_apic.c | 46 ++++++++++++++ > kernel/irq/autoprobe.c | 6 +- > kernel/irq/chip.c | 6 ++ > kernel/irq/cpuhotplug.c | 2 +- > kernel/irq/internals.h | 5 ++ > kernel/irq/manage.c | 106 ++++++++++++++++++++++----------- > 6 files changed, 133 insertions(+), 38 deletions(-) A simple build test breaks with this series applied: ld: kernel/irq/manage.o: in function `__synchronize_hardirq': manage.c:(.text+0x149): undefined reference to `__irq_get_irqchip_state' ld: kernel/irq/manage.o: in function `irq_get_irqchip_state': manage.c:(.text+0x5a2): undefined reference to `__irq_get_irqchip_state' make: *** [Makefile:1038: vmlinux] Error 1 How did you test this? {sigh} I'm dropping all of these from my queue. I think you need to just keep this in your device-specific tree as obviously this is not ready to be backported anywhere. greg k-h