mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] iio: chemical: ags02ma: Check for short I2C reads
@ 2026-10-17  9:46 Nikhil Gautam
  2026-10-17 18:18 ` Jonathan Cameron
  0 siblings, 1 reply; 2+ messages in thread
From: Nikhil Gautam @ 2026-10-17  9:46 UTC (permalink / raw)
  To: anshulusr
  Cc: jic23, dlechner, nuno.sa, andy, linux-iio, linux-kernel, Nikhil Gautam

Check that the I2C receive operation transfers the expected number
of bytes before accessing the received data.

Return -EIO if the transfer is incomplete.

Fixes: d58013f39b30 ("iio: chemical: add support for Aosong AGS02MA")
Signed-off-by: Nikhil Gautam <nikhilgtr@gmail.com>
---
 drivers/iio/chemical/ags02ma.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/iio/chemical/ags02ma.c b/drivers/iio/chemical/ags02ma.c
index 151178d4e8f4..2219965d044f 100644
--- a/drivers/iio/chemical/ags02ma.c
+++ b/drivers/iio/chemical/ags02ma.c
@@ -61,6 +61,12 @@ static int ags02ma_register_read(struct i2c_client *client, u8 reg, u16 delay,
 		return ret;
 	}
 
+	if (ret != sizeof(read_buffer)) {
+		dev_err(&client->dev,
+			"Short read from register 0x%x\n", reg);
+		return -EIO;
+	}
+
 	crc = crc8(ags02ma_crc8_table, (u8 *)&read_buffer.data,
 		   sizeof(read_buffer.data), AGS02MA_CRC8_INIT);
 	if (crc != read_buffer.crc) {
-- 
2.39.5


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] iio: chemical: ags02ma: Check for short I2C reads
  2026-10-17  9:46 [PATCH v2] iio: chemical: ags02ma: Check for short I2C reads Nikhil Gautam
@ 2026-10-17 18:18 ` Jonathan Cameron
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2026-10-17 18:18 UTC (permalink / raw)
  To: Nikhil Gautam; +Cc: anshulusr, dlechner, nuno.sa, andy, linux-iio, linux-kernel

On Sat, 17 Oct 2026 15:16:39 +0530
Nikhil Gautam <nikhilgtr@gmail.com> wrote:

> Check that the I2C receive operation transfers the expected number
> of bytes before accessing the received data.
> 
> Return -EIO if the transfer is incomplete.
> 
> Fixes: d58013f39b30 ("iio: chemical: add support for Aosong AGS02MA")
> Signed-off-by: Nikhil Gautam <nikhilgtr@gmail.com>
Hi Nikhil,

Given in practice we are very unlikely to ever see this condition I've
not rushed this one in.  Next cycle is soon enough.

As such, applied to the testing branch of iio.git.

Jonathan

> ---
>  drivers/iio/chemical/ags02ma.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/iio/chemical/ags02ma.c b/drivers/iio/chemical/ags02ma.c
> index 151178d4e8f4..2219965d044f 100644
> --- a/drivers/iio/chemical/ags02ma.c
> +++ b/drivers/iio/chemical/ags02ma.c
> @@ -61,6 +61,12 @@ static int ags02ma_register_read(struct i2c_client *client, u8 reg, u16 delay,
>  		return ret;
>  	}
>  
> +	if (ret != sizeof(read_buffer)) {
> +		dev_err(&client->dev,
> +			"Short read from register 0x%x\n", reg);
> +		return -EIO;
> +	}
> +
>  	crc = crc8(ags02ma_crc8_table, (u8 *)&read_buffer.data,
>  		   sizeof(read_buffer.data), AGS02MA_CRC8_INIT);
>  	if (crc != read_buffer.crc) {


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-10-17 18:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-17  9:46 [PATCH v2] iio: chemical: ags02ma: Check for short I2C reads Nikhil Gautam
2026-10-17 18:18 ` Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®