diff options
author | Axel Lin <axel.lin@ingics.com> | 2012-12-14 07:47:00 +0000 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2012-12-27 10:59:56 +0000 |
commit | 36ce0c1c3ab7ea54fa6c2b3a0803c7ab0adcefbf (patch) | |
tree | 1e9b42dfe688996db2a84319d764a6ff92bb9766 /drivers/iio/adc/ad7266.c | |
parent | 9541cc39a6381b76dac30c8e05078eb0a543f113 (diff) | |
download | blackbird-op-linux-36ce0c1c3ab7ea54fa6c2b3a0803c7ab0adcefbf.tar.gz blackbird-op-linux-36ce0c1c3ab7ea54fa6c2b3a0803c7ab0adcefbf.zip |
iio: adc: ad7266: Don't set error code to st->vref_uv
regulator_get_voltage() may return negative error code.
Add error checking to avoid setting error code to st->vref_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>
Diffstat (limited to 'drivers/iio/adc/ad7266.c')
-rw-r--r-- | drivers/iio/adc/ad7266.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c index a6f4fc5f8201..e36107dc30b9 100644 --- a/drivers/iio/adc/ad7266.c +++ b/drivers/iio/adc/ad7266.c @@ -411,7 +411,11 @@ static int __devinit ad7266_probe(struct spi_device *spi) if (ret) goto error_put_reg; - st->vref_uv = regulator_get_voltage(st->reg); + ret = regulator_get_voltage(st->reg); + if (ret < 0) + goto error_disable_reg; + + st->vref_uv = ret; } else { /* Use internal reference */ st->vref_uv = 2500000; |