[PATCH v3 04/12] iio: adc: ad7192: handle zero Avdd regulator value

From: Alexandru Ardelean
Date: Wed May 12 2021 - 15:37:48 EST


This change fixes a corner-case, where for a zero regulator value, the
driver would exit early, initializing the driver only partially.
The driver would be in an unknown state.

If the regulator value is zero, then the internal reference will be zero
(though that value will be zero for anything less than 1 millivolt).

Fixes: ab0afa65bbc7 ("staging: iio: adc: ad7192: fail probe on get_voltage")
Cc: Alexandru Tachici <alexandru.tachici@xxxxxxxxxx>
Signed-off-by: Alexandru Ardelean <aardelean@xxxxxxxxxxx>
---
drivers/iio/adc/ad7192.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c
index d3be67aa0522..9da394ad3868 100644
--- a/drivers/iio/adc/ad7192.c
+++ b/drivers/iio/adc/ad7192.c
@@ -951,7 +951,7 @@ static int ad7192_probe(struct spi_device *spi)

voltage_uv = regulator_get_voltage(st->avdd);

- if (voltage_uv > 0) {
+ if (voltage_uv >= 0) {
st->int_vref_mv = voltage_uv / 1000;
} else {
ret = voltage_uv;
--
2.31.1