]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ARM: versatile: Remove IRQF_ONESHOT
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 28 Jan 2026 09:55:28 +0000 (10:55 +0100)
committerThomas Gleixner <tglx@kernel.org>
Sun, 1 Feb 2026 16:37:15 +0000 (17:37 +0100)
Passing IRQF_ONESHOT ensures that the interrupt source is masked until
the secondary (threaded) handler is done. If only a primary handler is
used then the flag makes no sense because the interrupt can not fire
(again) while its handler is running.

Revert adding IRQF_ONESHOT to irqflags.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20260128095540.863589-9-bigeasy@linutronix.de
arch/arm/mach-versatile/spc.c

index 812db32448fcd415fa1a60f8bb971661369151e1..2d27777a00d335bd0a61abdb47344a81c2b85e7b 100644 (file)
@@ -459,8 +459,8 @@ int __init ve_spc_init(void __iomem *baseaddr, u32 a15_clusid, int irq)
 
        readl_relaxed(info->baseaddr + PWC_STATUS);
 
-       ret = request_irq(irq, ve_spc_irq_handler, IRQF_TRIGGER_HIGH
-                               | IRQF_ONESHOT, "vexpress-spc", info);
+       ret = request_irq(irq, ve_spc_irq_handler, IRQF_TRIGGER_HIGH,
+                         "vexpress-spc", info);
        if (ret) {
                pr_err(SPCLOG "IRQ %d request failed\n", irq);
                kfree(info);