6.18-stable review patch. If anyone has any objections, please let me know. ------------------ From: Avi Weiss [ Upstream commit a2f482407d33ebe7f12e30d6cf383ffb1c7d709d ] imsic_irq_retrigger() writes to the IMSIC MSI register to retrigger an interrupt, but returns 0. The IRQ core treats zero as failure and may schedule a software resend despite the hardware retrigger. Return 1 after the MSI write to report successful hardware retriggering and prevent the unnecessary software resend. Fixes: 027e125acdba ("irqchip/riscv-imsic: Add device MSI domain support for platform devices") Signed-off-by: Avi Weiss Signed-off-by: Thomas Gleixner Reviewed-by: Björn Töpel Reviewed-by: Anup Patel Cc: stable@vger.kernel.org Link: https://patch.msgid.link/20261026122641.3292904-2-thnkslprpt@gmail.com Signed-off-by: Sasha Levin --- drivers/irqchip/irq-riscv-imsic-platform.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/irqchip/irq-riscv-imsic-platform.c b/drivers/irqchip/irq-riscv-imsic-platform.c index 643c8e4596117..52673ff9edf4a 100644 --- a/drivers/irqchip/irq-riscv-imsic-platform.c +++ b/drivers/irqchip/irq-riscv-imsic-platform.c @@ -61,7 +61,7 @@ static int imsic_irq_retrigger(struct irq_data *d) local = per_cpu_ptr(imsic->global.local, vec->cpu); writel_relaxed(vec->local_id, local->msi_va); - return 0; + return 1; } static void imsic_irq_ack(struct irq_data *d) -- 2.53.0