]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
genirq: Reuse irq_thread_fn() for forced thread case
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 19 Nov 2024 10:42:35 +0000 (12:42 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 3 Dec 2024 10:59:10 +0000 (11:59 +0100)
rq_forced_thread_fn() uses the same action callback as the non-forced
variant but with different locking decorations.  Reuse irq_thread_fn() here
to make that clear.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/20241119104339.2112455-3-andriy.shevchenko@linux.intel.com
kernel/irq/manage.c

index 230f4701f18e1ef6f2a3119ddd1d159ab85c866e..f300bb6be3bd4c401438d461fc806a2a4921e468 100644 (file)
@@ -1210,11 +1210,7 @@ static irqreturn_t irq_forced_thread_fn(struct irq_desc *desc, struct irqaction
        local_bh_disable();
        if (!IS_ENABLED(CONFIG_PREEMPT_RT))
                local_irq_disable();
-       ret = action->thread_fn(action->irq, action->dev_id);
-       if (ret == IRQ_HANDLED)
-               atomic_inc(&desc->threads_handled);
-
-       irq_finalize_oneshot(desc, action);
+       ret = irq_thread_fn(desc, action);
        if (!IS_ENABLED(CONFIG_PREEMPT_RT))
                local_irq_enable();
        local_bh_enable();