Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

thermal/qcom/lmh: Replace IRQF_ONESHOT with IRQF_NO_THREAD

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

authored by

Sebastian Andrzej Siewior and committed by
Thomas Gleixner
781b3915 18d28446

+1 -1
+1 -1
drivers/thermal/qcom/lmh.c
··· 220 220 /* Disable the irq and let cpufreq enable it when ready to handle the interrupt */ 221 221 irq_set_status_flags(lmh_data->irq, IRQ_NOAUTOEN); 222 222 ret = devm_request_irq(dev, lmh_data->irq, lmh_handle_irq, 223 - IRQF_ONESHOT | IRQF_NO_SUSPEND, 223 + IRQF_NO_THREAD | IRQF_NO_SUSPEND, 224 224 "lmh-irq", lmh_data); 225 225 if (ret) { 226 226 dev_err(dev, "Error %d registering irq %x\n", ret, lmh_data->irq);