All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Chris Morgan" <macroalpha82@gmail.com>
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, robh@kernel.org
Subject: Re: [PATCH V11 8/9] iio: imu: inv_icm42607: Add Gyroscope to icm42607
Date: Wed, 10 Jun 2026 18:14:48 +0000	[thread overview]
Message-ID: <20260610181448.B256E1F00893@smtp.kernel.org> (raw)
In-Reply-To: <20260610175455.19006-9-macroalpha82@gmail.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] Missing `_available` info masks in `INV_ICM42607_GYRO_CHAN` makes `read_avail` dead code and hides capabilities from userspace.
- [Medium] Missing `iio_device_claim_direct()` protection when writing sampling frequency.
--

commit 85b10db1767bd36f30119bab0e0a4f4f63966fc3
Author: Chris Morgan <macromorgan@hotmail.com>

iio: imu: inv_icm42607: Add Gyroscope to icm42607

Add gyroscope functions to the icm42607 driver.

> diff --git a/drivers/iio/imu/inv_icm42607/inv_icm42607_gyro.c b/drivers/iio/imu/inv_icm42607/inv_icm42607_gyro.c
> new file mode 100644
> index 0000000000000..8cabebe2e96b1
> --- /dev/null
> +++ b/drivers/iio/imu/inv_icm42607/inv_icm42607_gyro.c
> @@ -0,0 +1,369 @@

[ ... ]

> +#define INV_ICM42607_GYRO_CHAN(_modifier, _index, _ext_info)	\
> +{								\
> +	.type = IIO_ANGL_VEL,					\
> +	.modified = 1,						\
> +	.channel2 = _modifier,					\
> +	.info_mask_separate =					\
> +		BIT(IIO_CHAN_INFO_RAW),				\
> +	.info_mask_shared_by_type =				\
> +		BIT(IIO_CHAN_INFO_SCALE),			\
> +	.info_mask_shared_by_all =				\
> +		BIT(IIO_CHAN_INFO_SAMP_FREQ),			\

[Severity: Medium]
Will userspace be able to discover the available scales and frequencies?

Since .info_mask_shared_by_type_available and 
.info_mask_shared_by_all_available are not included in this macro, it
appears the IIO core will never query inv_icm42607_gyro_read_avail(),
leaving that function as dead code.

> +	.scan_index = _index,					\
> +	.scan_type = {						\

[ ... ]

> +static int inv_icm42607_gyro_write_raw(struct iio_dev *indio_dev,
> +				       struct iio_chan_spec const *chan,
> +				       int val, int val2, long mask)
> +{
> +	int ret;
> +
> +	if (chan->type != IIO_ANGL_VEL)
> +		return -EINVAL;
> +
> +	switch (mask) {
> +	case IIO_CHAN_INFO_SCALE:
> +		if (!iio_device_claim_direct(indio_dev))
> +			return -EBUSY;
> +		ret = inv_icm42607_gyro_write_scale(indio_dev, val, val2);
> +		iio_device_release_direct(indio_dev);
> +		return ret;
> +	case IIO_CHAN_INFO_SAMP_FREQ:
> +		return inv_icm42607_gyro_write_odr(indio_dev, val, val2);

[Severity: Medium]
Is it safe to write the sampling frequency without claiming direct mode here?

It looks like IIO_CHAN_INFO_SAMP_FREQ bypasses iio_device_claim_direct(),
meaning it could potentially be modified concurrently with active IIO data
buffering.

> +	default:
> +		return -EINVAL;
> +	}
> +}

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260610175455.19006-1-macroalpha82@gmail.com?part=8

  reply	other threads:[~2026-06-10 18:14 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-10 17:54 [PATCH V11 0/9] Add Invensense ICM42607 Chris Morgan
2026-06-10 17:54 ` Chris Morgan
2026-06-10 17:54 ` [PATCH V11 1/9] dt-bindings: iio: imu: icm42600: Add mount-matrix to icm42600 Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-10 17:54 ` [PATCH V11 2/9] dt-bindings: iio: imu: icm42600: Add icm42607 Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-10 17:54 ` [PATCH V11 3/9] iio: imu: inv_icm42607: Add inv_icm42607 Core Driver Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-10 18:11   ` sashiko-bot
2026-06-11  7:35   ` Andy Shevchenko
2026-06-11  7:35     ` Andy Shevchenko
2026-06-10 17:54 ` [PATCH V11 4/9] iio: imu: inv_icm42607: Add I2C and SPI For icm42607 Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-10 18:25   ` sashiko-bot
2026-06-11  7:49   ` Andy Shevchenko
2026-06-11  7:49     ` Andy Shevchenko
2026-06-10 17:54 ` [PATCH V11 5/9] iio: imu: inv_icm42607: Add PM support for icm42607 Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-11  8:00   ` Andy Shevchenko
2026-06-11  8:00     ` Andy Shevchenko
2026-06-10 17:54 ` [PATCH V11 6/9] iio: imu: inv_icm42607: Add Temp Support in icm42607 Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-10 18:15   ` sashiko-bot
2026-06-10 17:54 ` [PATCH V11 7/9] iio: imu: inv_icm42607: Add Accelerometer for icm42607 Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-10 18:10   ` sashiko-bot
2026-06-10 17:54 ` [PATCH V11 8/9] iio: imu: inv_icm42607: Add Gyroscope to icm42607 Chris Morgan
2026-06-10 17:54   ` Chris Morgan
2026-06-10 18:14   ` sashiko-bot [this message]
2026-06-10 17:54 ` [PATCH V11 9/9] arm64: dts: rockchip: Add icm42607p IMU for RG-DS Chris Morgan
2026-06-10 17:54   ` Chris Morgan

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=20260610181448.B256E1F00893@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=macroalpha82@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.