[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a1072d80-118c-4b6e-ab39-301d137e1e2d@kernel.org>
Date: Sat, 24 Jan 2026 11:21:06 +0100
From: Hans de Goede <hansg@...nel.org>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
linux-kernel@...r.kernel.org
Cc: linux-rt-devel@...ts.linux.dev, Thomas Gleixner <tglx@...nel.org>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
platform-driver-x86@...r.kernel.org,
"Borah, Chaitanya Kumar" <chaitanya.kumar.borah@...el.com>
Subject: Re: [PATCH 02/21] platform/x86: int0002: Remove IRQF_ONESHOT from
request_irq()
Hi,
On 23-Jan-26 12:36, Sebastian Andrzej Siewior wrote:
> 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 disallows force-threading of the primary handler and the
> irq-core will warn about this.
>
> The flag was added to match the flag on the shared handler which uses a
> threaded handler and therefore IRQF_ONESHOT. This is no longer needed
> because devm_request_irq() now passes IRQF_COND_ONESHOT for this case.
>
> Revert adding IRQF_ONESHOT to irqflags.
>
> Cc: Hans de Goede <hansg@...nel.org>
> Cc: "Ilpo Järvinen" <ilpo.jarvinen@...ux.intel.com>
> Cc: platform-driver-x86@...r.kernel.org
> Reported-by: "Borah, Chaitanya Kumar" <chaitanya.kumar.borah@...el.com>
> Closes: https://lore.kernel.org/all/555f1c56-0f74-41bf-8bd2-6217e0aab0c6@intel.com
> Fixes: 8f812373d1958 ("platform/x86: intel: int0002_vgpio: Pass IRQF_ONESHOT to request_irq()")
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Thanks, patch looks good to me:
Reviewed-by: Hans de Goede <johannes.goede@....qualcomm.com>
Regards,
Hans
> ---
> drivers/platform/x86/intel/int0002_vgpio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/platform/x86/intel/int0002_vgpio.c b/drivers/platform/x86/intel/int0002_vgpio.c
> index 6f5629dc3f8db..562e880256436 100644
> --- a/drivers/platform/x86/intel/int0002_vgpio.c
> +++ b/drivers/platform/x86/intel/int0002_vgpio.c
> @@ -206,8 +206,8 @@ static int int0002_probe(struct platform_device *pdev)
> * FIXME: augment this if we managed to pull handling of shared
> * IRQs into gpiolib.
> */
> - ret = devm_request_irq(dev, irq, int0002_irq,
> - IRQF_ONESHOT | IRQF_SHARED, "INT0002", chip);
> + ret = devm_request_irq(dev, irq, int0002_irq, IRQF_SHARED, "INT0002",
> + chip);
> if (ret) {
> dev_err(dev, "Error requesting IRQ %d: %d\n", irq, ret);
> return ret;
Powered by blists - more mailing lists