From: sashiko-bot@kernel.org
To: "Javier Carrasco" <javier.carrasco.cruz@gmail.com>
Cc: conor+dt@kernel.org, robh@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v7 4/4] iio: light: veml6031x00: add support for events and trigger
Date: Tue, 18 Aug 2026 11:51:37 +0000 [thread overview]
Message-ID: <20260818115137.D83171F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260818-veml6031x00-v7-4-2b0de0f20edf@gmail.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The trigger handler iterates over all active channels, including the soft timestamp channel, causing an unintended read of the configuration register (0x00) on every trigger.
--
--- Patch [4]: [PATCH v7 4/4] iio: light: veml6031x00: add support for events and trigger ---
commit edb90c2eedbeff107834cc27e54709e4496c1560
Author: Javier Carrasco <javier.carrasco.cruz@gmail.com>
iio: light: veml6031x00: add support for events and trigger
This commit adds support for configurations with and without an interrupt
line to the VEML6031X00 driver. It enables events and trigger functionality
when a shared interrupt line is available.
> diff --git a/drivers/iio/light/veml6031x00.c b/drivers/iio/light/veml6031x00.c
> index e6ca98414a01c..068fa7b3ecc98 100644
> --- a/drivers/iio/light/veml6031x00.c
> +++ b/drivers/iio/light/veml6031x00.c
[ ... ]
> @@ -549,11 +968,83 @@ static int veml6031x00_buffer_postdisable(struct iio_dev *iio)
[ ... ]
> +static irqreturn_t veml6031x00_trig_handler(int irq, void *p)
> +{
> + struct iio_poll_func *pf = p;
> + struct iio_dev *iio = pf->indio_dev;
> + struct veml6031x00_data *data = iio_priv(iio);
> + struct regmap *map = data->regmap;
> + IIO_DECLARE_BUFFER_WITH_TS(__le16, scan, 2) = { };
> + unsigned int i = 0;
> + int ch, ret;
> +
> + if (test_bit(VEML6031X00_SCAN_ALS, iio->active_scan_mask) &&
> + test_bit(VEML6031X00_SCAN_IR, iio->active_scan_mask)) {
> + ret = regmap_bulk_read(map, VEML6031X00_REG_ALS_L,
> + scan, 2 * sizeof(*scan));
> + if (ret)
> + goto done;
> + } else {
> + iio_for_each_active_channel(iio, ch) {
> + ret = regmap_bulk_read(map, iio->channels[ch].address,
> + &scan[i++], sizeof(*scan));
> + if (ret)
> + goto done;
> + }
^^^^
[Severity: Medium]
Will this loop also iterate over the soft timestamp channel if it is enabled
in the active scan mask?
Since IIO_CHAN_SOFT_TIMESTAMP leaves the .address uninitialized (0), this
could inadvertently issue an I2C read from the configuration register (0x00)
on every trigger event when falling back to this else branch. Should this
loop skip the timestamp channel, for example by checking if the channel
address is valid or if the type is IIO_TIMESTAMP?
> + }
> +
> + iio_push_to_buffers_with_ts(iio, scan, sizeof(scan), pf->timestamp);
> +
> +done:
> + iio_trigger_notify_done(iio->trig);
> +
> + return IRQ_HANDLED;
> +}
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260818-veml6031x00-v7-0-2b0de0f20edf@gmail.com?part=4
next prev parent reply other threads:[~2026-08-18 11:51 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-18 11:34 [PATCH v7 0/4] iio: light: add support for veml6031x00 ALS series Javier Carrasco
2026-08-18 11:34 ` [PATCH v7 1/4] dt-bindings: iio: light: veml6030: add " Javier Carrasco
2026-08-18 11:34 ` [PATCH v7 2/4] iio: light: add support for " Javier Carrasco
2026-08-18 13:30 ` Andy Shevchenko
2026-08-18 11:34 ` [PATCH v7 3/4] iio: light: veml6031x00: add support for triggered buffers Javier Carrasco
2026-08-18 11:56 ` sashiko-bot
2026-08-18 13:32 ` Andy Shevchenko
2026-08-18 11:34 ` [PATCH v7 4/4] iio: light: veml6031x00: add support for events and trigger Javier Carrasco
2026-08-18 11:51 ` sashiko-bot [this message]
2026-08-18 14:01 ` Andy Shevchenko
2026-08-18 16:10 ` Javier Carrasco
2026-08-18 14:02 ` [PATCH v7 0/4] iio: light: add support for veml6031x00 ALS series Andy Shevchenko
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=20260818115137.D83171F000E9@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=javier.carrasco.cruz@gmail.com \
--cc=robh@kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.