On 9/22/2026 2:30 AM, Michael Kelley wrote:
From: Naman Jain <[email protected]> Sent: Monday, September 14, 2026 
4:19 AM

msi_set_affinity() re-injects a pending interrupt on its new target by
looking at the outermost domain chip and invoking its irq_retrigger()
callback. Since this mirrors the behavior of
irq_chip_retrigger_hierarchy(), use the helper directly instead.

This commit message glosses over the key point. I think the full
statement is that in all cases where msi_set_affinity() is called, the
irqchip's .irq_retrigger function is set to irq_chip_retrigger_hierarchy().
Both are set only in x86_init_dev_msi_info(). So it is equivalent to
just call irq_chip_retrigger_hierarchy() directly.

I'll add this info in next version.

Thanks,
Naman



Suggested-by: Thomas Gleixner <[email protected]>
Reviewed-by: Shradha Gupta <[email protected]>
Reviewed-by: Thomas Gleixner <[email protected]>
Signed-off-by: Naman Jain <[email protected]>
---
  arch/x86/kernel/apic/msi.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index 66bc5d3e79db3..9160227b9b32a 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -137,7 +137,7 @@ msi_set_affinity(struct irq_data *irqd, const struct 
cpumask *mask, bool force)
         * IRR.
         */
        if (lapic_vector_set_in_irr(cfg->vector))
-               irq_data_get_irq_chip(irqd)->irq_retrigger(irqd);
+               irq_chip_retrigger_hierarchy(irqd);

        return ret;
  }
--
2.43.0



Reply via email to