summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@ingics.com>2012-12-14 12:06:00 +0000
committerJonathan Cameron <jic23@kernel.org>2012-12-27 11:00:16 +0000
commit0ce2fdaa97c6a8d84e9fce3d920a45a493145623 (patch)
treec151a236324c2644dd904164ddb12151479fefa7
parent7e2dcc69824288916b55f90cd6db4992a0d95374 (diff)
downloadlinux-0ce2fdaa97c6a8d84e9fce3d920a45a493145623.tar.gz
linux-0ce2fdaa97c6a8d84e9fce3d920a45a493145623.tar.bz2
linux-0ce2fdaa97c6a8d84e9fce3d920a45a493145623.zip
iio: dac: ad5504: Don't set error code to voltage_uv
regulator_get_voltage() may return negative error code. Add error checking to avoid setting error code to voltage_uv. Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r--drivers/iio/dac/ad5504.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c
index 242bdc7d0044..7f7c026b9d8a 100644
--- a/drivers/iio/dac/ad5504.c
+++ b/drivers/iio/dac/ad5504.c
@@ -296,7 +296,11 @@ static int __devinit ad5504_probe(struct spi_device *spi)
if (ret)
goto error_put_reg;
- voltage_uv = regulator_get_voltage(reg);
+ ret = regulator_get_voltage(reg);
+ if (ret < 0)
+ goto error_disable_reg;
+
+ voltage_uv = ret;
}
spi_set_drvdata(spi, indio_dev);