OSDN Git Service

staging: iio: adc: ad7280a: fix overwrite of the returned value
authorSlawomir Stepien <sst@poczta.fm>
Sun, 2 Dec 2018 11:42:35 +0000 (12:42 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 2 Dec 2018 15:36:28 +0000 (15:36 +0000)
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>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/staging/iio/adc/ad7280a.c

index 7a0ba26..14f6a3c 100644 (file)
@@ -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)) −