]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
thermal/qcom/lmh: Replace IRQF_ONESHOT with IRQF_NO_THREAD
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>
Wed, 28 Jan 2026 09:55:33 +0000 (10:55 +0100)
committerThomas Gleixner <tglx@kernel.org>
Sun, 1 Feb 2026 16:37:16 +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.

The flag also prevents force-threading of the primary handler and the
irq-core will warn about this.

The intention here was probably to not allow forced-threading.

Replace IRQF_ONESHOT with IRQF_NO_THREAD.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260128095540.863589-14-bigeasy@linutronix.de
drivers/thermal/qcom/lmh.c

index ddadcfada5136c34ec33bc92bdbd6b6efdab2713..3d072b7a4a6dde5b7dad8f21c02508c6a7f75475 100644 (file)
@@ -220,7 +220,7 @@ static int lmh_probe(struct platform_device *pdev)
        /* Disable the irq and let cpufreq enable it when ready to handle the interrupt */
        irq_set_status_flags(lmh_data->irq, IRQ_NOAUTOEN);
        ret = devm_request_irq(dev, lmh_data->irq, lmh_handle_irq,
-                              IRQF_ONESHOT | IRQF_NO_SUSPEND,
+                              IRQF_NO_THREAD | IRQF_NO_SUSPEND,
                               "lmh-irq", lmh_data);
        if (ret) {
                dev_err(dev, "Error %d registering irq %x\n", ret, lmh_data->irq);