On Mon, Sep 07 2026 at 06:51, Naman Jain wrote: > fixup_irqs() re-injects a pending interrupt on its new target CPU by > looking at the outermost domain chip and invoking its irq_retrigger() > callback directly. When the outermost chip does not implement > irq_retrigger(), the pending interrupt is silently dropped, which can > lead to lost interrupts on CPU hot-unplug. > > Keep calling the outermost chip's irq_retrigger() when it is present, > but fall back to irq_chip_retrigger_hierarchy() otherwise, which walks > up the interrupt hierarchy until it finds a chip that implements > irq_retrigger(). > > While at it, use a scoped guard for desc->lock. VECTOR_RETRIGGERED is > now set only when the retrigger succeeds instead of unconditionally, > which is harmless today since apic_retrigger_irq() always returns 1. > > Suggested-by: Thomas Gleixner <[email protected]> > Reviewed-by: Shradha Gupta <[email protected]> > Signed-off-by: Naman Jain <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
