On Wed, Sep 23 2026 at 04:30, Naman Jain wrote:
> On CPU hot-unplug, fixup_irqs() re-injects interrupts that are still
> pending in the outgoing CPU's IRR via the irqchip's irq_retrigger()
> callback. The Hyper-V root partition PCI/MSI irqchip lost that callback
> when it was converted to msi_create_parent_irq_domain(), so such a
> pending interrupt is silently dropped, leading to lost interrupts, stalls
> and "No irq handler for vector" messages.
>
> Patch 1 is the minimal, backportable fix (Fixes:/Cc: stable) that restores
> irq_chip_retrigger_hierarchy() on the Hyper-V root partition PCI/MSI chip.
> The equivalent guest pci-hyperv.c fix from the previous version is already
> merged, so it is dropped here.
>
> Patch 2 then switches fixup_irqs() to call irq_chip_retrigger_hierarchy()
> directly which ensures that this issue does not occur for chips that
> miss adding this initialization.
>
> Patch 3 makes a similar change in msi_set_affinity()
>
> Patch 4 then drops the now-redundant irq_retrigger() initializations.
> This way, patch 2-4 do not need to be backported.

Reviewed-by: Thomas Gleixner <[email protected]>

Reply via email to