From: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
To: "Nuno Sá" <nuno.sa@analog.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
linux-iio@vger.kernel.org,
Per-Daniel Olsson <perdaniel.olsson@axis.com>,
Kurt Borja <kuurtb@gmail.com>,
David Lechner <dlechner@baylibre.com>,
Andy Shevchenko <andy@kernel.org>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org
Subject: Re: [PATCH] iio: light: opt4060: fix inverted own trigger check
Date: Mon, 9 Nov 2026 08:56:31 -0800 [thread overview]
Message-ID: <20261109085631.00007485@oss.qualcomm.com> (raw)
In-Reply-To: <avHsKUE4xJ0vdu6P@nsa>
On Mon, 9 Nov 2026 15:52:31 +0000
Nuno Sá <nuno.sa@analog.com> wrote:
> On Mon, Nov 09, 2026 at 02:47:45AM +0000, Jonathan Cameron wrote:
> > From: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
> >
> > opt4060_set_driver_state() is meant to keep sampling and the interrupt
> > on every conversion enabled while the buffer is in use with the
> > driver's own trigger, as that interrupt is what fires the trigger.
> >
> > When converted to use IIO_DEV_GUARD_CURRENT_MODE() the negation of
> > iio_trigger_validate_own_device(), which returns 0 for the device's own
> > trigger, was lost. As a result, with the driver's own trigger in use,
> > enabling or disabling a threshold event switches the interrupt to
> > thresholds only and buffered capture stops. With another trigger in
> > use, the one shot conversions requested by opt4060_trigger_new_samples()
> > are instead forced to continuous mode.
> >
> > Restore the negation so the code matches the comment above it.
> >
> > Fixes: 8284a4985416 ("iio: light: opt4060: Use IIO cleanup helpers")
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
> > ---
> > This was found by an LLM whilst doing a refactor of related code.
> > Indeed seems there was a change of behavior in the sited patch that
> > wasn't as intended.
> > ---
>
> Reviewed-by: Nuno Sá <nuno.sa@analog.com>
Fixed the linux-iio address. I'll probably post a v2 so I can pick these up
as normal though.
Thanks for the review Nuno,
J
>
> > drivers/iio/light/opt4060.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/iio/light/opt4060.c b/drivers/iio/light/opt4060.c
> > index 8253a6a8bee4..1a7d429453be 100644
> > --- a/drivers/iio/light/opt4060.c
> > +++ b/drivers/iio/light/opt4060.c
> > @@ -310,7 +310,7 @@ static int opt4060_set_driver_state(struct iio_dev *indio_dev,
> > * IRQ and sampling must go to or remain continuous.
> > */
> > if (iio_buffer_enabled(indio_dev) &&
> > - iio_trigger_validate_own_device(indio_dev->trig, indio_dev))
> > + !iio_trigger_validate_own_device(indio_dev->trig, indio_dev))
> > return opt4060_set_state_common(chip, true, true);
> >
> > /*
> > --
> > 2.56.0
> >
prev parent reply other threads:[~2026-11-09 16:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-09 2:47 [PATCH] iio: light: opt4060: fix inverted own trigger check Jonathan Cameron
2026-11-09 15:52 ` Nuno Sá
2026-11-09 16:56 ` Jonathan Cameron [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261109085631.00007485@oss.qualcomm.com \
--to=jonathan.cameron@oss.qualcomm.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=kuurtb@gmail.com \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=perdaniel.olsson@axis.com \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.