* [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®