lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <91aafb3174ca943e240dd8164f27080eab085e29.camel@gmail.com>
Date: Wed, 28 Jan 2026 11:40:56 +0000
From: Nuno Sá <noname.nuno@...il.com>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>, 
	linux-kernel@...r.kernel.org
Cc: linux-rt-devel@...ts.linux.dev, Thomas Gleixner <tglx@...nel.org>, 
 Jonathan Cameron
	 <jic23@...nel.org>, David Lechner <dlechner@...libre.com>, Nuno
 Sá
	 <nuno.sa@...log.com>, Andy Shevchenko <andy@...nel.org>, 
	linux-iio@...r.kernel.org
Subject: Re: [PATCH 20/21] iio: magnetometer: Remove IRQF_ONESHOT

On Fri, 2026-01-23 at 12:37 +0100, 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 force-threading functionality is required on PREEMPT_RT because the
> handler is using locks with can sleep on PREEMPT_RT.
> 
> Remove IRQF_ONESHOT from irqflags.
> 
> Cc: Jonathan Cameron <jic23@...nel.org>
> Cc: David Lechner <dlechner@...libre.com>
> Cc: "Nuno Sá" <nuno.sa@...log.com>
> Cc: Andy Shevchenko <andy@...nel.org>
> Cc: linux-iio@...r.kernel.org
> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
> ---

Reviewed-by: Nuno Sá <nuno.sa@...log.com>

>  drivers/iio/magnetometer/ak8975.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index 3fd0171e5d69b..d30315ad85ded 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -581,7 +581,7 @@ static int ak8975_setup_irq(struct ak8975_data *data)
>  		irq = gpiod_to_irq(data->eoc_gpiod);
>  
>  	rc = devm_request_irq(&client->dev, irq, ak8975_irq_handler,
> -			      IRQF_TRIGGER_RISING | IRQF_ONESHOT,
> +			      IRQF_TRIGGER_RISING,
>  			      dev_name(&client->dev), data);
>  	if (rc < 0) {
>  		dev_err(&client->dev, "irq %d request failed: %d\n", irq, rc);

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ