[PATCH 2/8] iio: magnetometer: ak8975: check if gpiod read was successful
From: Joshua Crofts via B4 Relay
Date: Thu May 07 2026 - 10:40:12 EST
From: Joshua Crofts <joshua.crofts1@xxxxxxxxx>
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 <jic23@xxxxxxxxxx>
Signed-off-by: Joshua Crofts <joshua.crofts1@xxxxxxxxx>
---
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 b990c123e2808c2078abcfaf6b2ef86c09393e6b..63b6e8465f5f3873841550a1cd03ce86b95d1d67 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)
--
2.47.3