iio: pressure: hsc030pa: Improve i2c_transfer return value handling

The i2c_transfer() function returns the number of messages
successfully transferred. The function sends 1 message but checks
for ret == 2, which can never be true.

In practice this has no impact since the caller checks ret < 0,
and the erroneous return value of 1 is not treated as an error.

Improve the return value handling to properly distinguish between
I2C errors and unexpected transfer counts.

Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Tested-by: Petre Rodan <petre.rodan@subdimension.ro>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
Antoniu Miclaus 2026-01-29 20:14:52 +02:00 committed by Jonathan Cameron
parent f7c0ea2e78
commit f4e466aac3

View File

@ -34,8 +34,13 @@ static int hsc_i2c_recv(struct hsc_data *data)
msg.buf = data->buffer;
ret = i2c_transfer(client->adapter, &msg, 1);
if (ret < 0)
return ret;
return (ret == 2) ? 0 : ret;
if (ret != 1)
return -EIO;
return 0;
}
static int hsc_i2c_probe(struct i2c_client *client)