From f59c1e65f6538ad113de0faa1b8cead8877322be Mon Sep 17 00:00:00 2001 From: Axel Lin Date: Fri, 14 Dec 2012 07:55:00 +0000 Subject: [PATCH] --- yaml --- r: 348714 b: refs/heads/master c: 7e2dcc69824288916b55f90cd6db4992a0d95374 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/iio/dac/ad5791.c | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 811067c746f5..d769eeda2d88 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 272cc9c8b5d0dffe9fb03e6c0ab3da2fde9c20e9 +refs/heads/master: 7e2dcc69824288916b55f90cd6db4992a0d95374 diff --git a/trunk/drivers/iio/dac/ad5791.c b/trunk/drivers/iio/dac/ad5791.c index 2bd2e37280ff..6efe83e32ac6 100644 --- a/trunk/drivers/iio/dac/ad5791.c +++ b/trunk/drivers/iio/dac/ad5791.c @@ -365,7 +365,11 @@ static int __devinit ad5791_probe(struct spi_device *spi) if (ret) goto error_put_reg_pos; - pos_voltage_uv = regulator_get_voltage(st->reg_vdd); + ret = regulator_get_voltage(st->reg_vdd); + if (ret < 0) + goto error_disable_reg_pos; + + pos_voltage_uv = ret; } st->reg_vss = regulator_get(&spi->dev, "vss"); @@ -374,7 +378,11 @@ static int __devinit ad5791_probe(struct spi_device *spi) if (ret) goto error_put_reg_neg; - neg_voltage_uv = regulator_get_voltage(st->reg_vss); + ret = regulator_get_voltage(st->reg_vss); + if (ret < 0) + goto error_disable_reg_neg; + + neg_voltage_uv = ret; } st->pwr_down = true; @@ -428,6 +436,7 @@ static int __devinit ad5791_probe(struct spi_device *spi) if (!IS_ERR(st->reg_vss)) regulator_put(st->reg_vss); +error_disable_reg_pos: if (!IS_ERR(st->reg_vdd)) regulator_disable(st->reg_vdd); error_put_reg_pos: