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.

usb: typec: fusb302: Remove IRQF_ONESHOT

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.

Remove IRQF_ONESHOT from irqflags.

Fixes: 309b6341d5570 ("usb: typec: fusb302: Revert incorrect threaded irq fix")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://patch.msgid.link/20260128095540.863589-12-bigeasy@linutronix.de

authored by

Sebastian Andrzej Siewior and committed by
Thomas Gleixner
a7fb84ea 5c858d6c

+1 -2
+1 -2
drivers/usb/typec/tcpm/fusb302.c
··· 1756 1756 } 1757 1757 1758 1758 ret = request_irq(chip->gpio_int_n_irq, fusb302_irq_intn, 1759 - IRQF_ONESHOT | IRQF_TRIGGER_LOW, 1760 - "fsc_interrupt_int_n", chip); 1759 + IRQF_TRIGGER_LOW, "fsc_interrupt_int_n", chip); 1761 1760 if (ret < 0) { 1762 1761 dev_err(dev, "cannot request IRQ for GPIO Int_N, ret=%d", ret); 1763 1762 goto tcpm_unregister_port;