mirror of
https://github.com/torvalds/linux.git
synced 2026-11-07 06:17:02 +01:00
irqchip/riscv-imsic: Report successful hardware retrigger
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: 027e125acd ("irqchip/riscv-imsic: Add device MSI domain support for platform devices")
Signed-off-by: Avi Weiss <thnkslprpt@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Reviewed-by: Björn Töpel <bjorn@kernel.org>
Reviewed-by: Anup Patel <anup@brainfault.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20261026122641.3292904-2-thnkslprpt@gmail.com
This commit is contained in:
parent
717862eac6
commit
a2f482407d
|
|
@ -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)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user