From 46dd701a39f0b6b1796e75a9eb87822b8b3a98f1 Mon Sep 17 00:00:00 2001 From: Joshua Crofts Date: Mon, 11 May 2026 13:26:11 +0200 Subject: [PATCH] iio: magnetometer: ak8975: check if gpiod read was successful MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a check that ensures that valid data has been read from GPIOD. If not, log an error and return the negative read value. Suggested-by: Jonathan Cameron Reviewed-by: Nuno Sá Signed-off-by: Joshua Crofts Reviewed-by: Maxwell Doose Signed-off-by: Jonathan Cameron --- drivers/iio/magnetometer/ak8975.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c index b990c123e280..63b6e8465f5f 100644 --- a/drivers/iio/magnetometer/ak8975.c +++ b/drivers/iio/magnetometer/ak8975.c @@ -658,6 +658,10 @@ static int wait_conversion_complete_gpio(struct ak8975_data *data, timeout_ms * USEC_PER_MSEC); if (ret) return ret; + if (val < 0) { + dev_err(&client->dev, "Error in reading GPIOD\n"); + return val; + } ret = i2c_smbus_read_byte_data(client, data->def->ctrl_regs[ST1]); if (ret < 0)