diff mbox series

[1/1] staging: iio: adc: ad7280a: fix overwrite of the returned value

Message ID 20181202114235.12443-1-sst@poczta.fm (mailing list archive)
State New, archived
Headers show
Series [1/1] staging: iio: adc: ad7280a: fix overwrite of the returned value | expand

Commit Message

Slawomir Stepien Dec. 2, 2018, 11:42 a.m. UTC
The ret returned from ad7280_chain_setup() is needed to initialize the
slave_num. Don't overwrite it with call to devm_add_action_or_reset().

Fixes: cc9c58ef6e06 ("staging: iio: adc: ad7280a: use devm_* APIs")
Signed-off-by: Slawomir Stepien <sst@poczta.fm>
---
 drivers/staging/iio/adc/ad7280a.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Jonathan Cameron Dec. 2, 2018, 3:36 p.m. UTC | #1
On Sun,  2 Dec 2018 12:42:35 +0100
Slawomir Stepien <sst@poczta.fm> wrote:

> The ret returned from ad7280_chain_setup() is needed to initialize the
> slave_num. Don't overwrite it with call to devm_add_action_or_reset().
> 
> Fixes: cc9c58ef6e06 ("staging: iio: adc: ad7280a: use devm_* APIs")
> Signed-off-by: Slawomir Stepien <sst@poczta.fm>
Good find.  Applied to the togreg branch of iio.git and pushed out as
testing for the autobuilders to play with it.

Thanks,

Jonathan

> ---
>  drivers/staging/iio/adc/ad7280a.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/staging/iio/adc/ad7280a.c b/drivers/staging/iio/adc/ad7280a.c
> index 7a0ba26f9fd9..14f6a3ced060 100644
> --- a/drivers/staging/iio/adc/ad7280a.c
> +++ b/drivers/staging/iio/adc/ad7280a.c
> @@ -879,15 +879,15 @@ static int ad7280_probe(struct spi_device *spi)
>  	if (ret < 0)
>  		return ret;
>  
> -	ret = devm_add_action_or_reset(&spi->dev, ad7280_sw_power_down, st);
> -	if (ret)
> -		return ret;
> -
>  	st->slave_num = ret;
>  	st->scan_cnt = (st->slave_num + 1) * AD7280A_NUM_CH;
>  	st->cell_threshhigh = 0xFF;
>  	st->aux_threshhigh = 0xFF;
>  
> +	ret = devm_add_action_or_reset(&spi->dev, ad7280_sw_power_down, st);
> +	if (ret)
> +		return ret;
> +
>  	/*
>  	 * Total Conversion Time = ((tACQ + tCONV) *
>  	 *			   (Number of Conversions per Part)) −
diff mbox series

Patch

diff --git a/drivers/staging/iio/adc/ad7280a.c b/drivers/staging/iio/adc/ad7280a.c
index 7a0ba26f9fd9..14f6a3ced060 100644
--- a/drivers/staging/iio/adc/ad7280a.c
+++ b/drivers/staging/iio/adc/ad7280a.c
@@ -879,15 +879,15 @@  static int ad7280_probe(struct spi_device *spi)
 	if (ret < 0)
 		return ret;
 
-	ret = devm_add_action_or_reset(&spi->dev, ad7280_sw_power_down, st);
-	if (ret)
-		return ret;
-
 	st->slave_num = ret;
 	st->scan_cnt = (st->slave_num + 1) * AD7280A_NUM_CH;
 	st->cell_threshhigh = 0xFF;
 	st->aux_threshhigh = 0xFF;
 
+	ret = devm_add_action_or_reset(&spi->dev, ad7280_sw_power_down, st);
+	if (ret)
+		return ret;
+
 	/*
 	 * Total Conversion Time = ((tACQ + tCONV) *
 	 *			   (Number of Conversions per Part)) −