iio: Fix iio_read_channel_processed_scale()
authorLinus Walleij <linus.walleij@linaro.org>
Tue, 23 Mar 2021 12:27:05 +0000 (13:27 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 7 Apr 2021 07:35:51 +0000 (08:35 +0100)
The code was checking if (ret) from the processed
channel readout, not smart, we need to check if (ret < 0)
as this will likely be something like IIO_VAL_INT.

Fixes: 635ef601b238 ("iio: Provide iio_read_channel_processed_scale() API")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20210323122705.1326362-1-linus.walleij@linaro.org
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/inkern.c

index c61fc06f98b84db702c5e6488932432b4c81ab07..9c22697b7e835e34f13a7b054c8ce6e6a8b43714 100644 (file)
@@ -702,7 +702,7 @@ int iio_read_channel_processed_scale(struct iio_channel *chan, int *val,
        if (iio_channel_has_info(chan->channel, IIO_CHAN_INFO_PROCESSED)) {
                ret = iio_channel_read(chan, val, NULL,
                                       IIO_CHAN_INFO_PROCESSED);
-               if (ret)
+               if (ret < 0)
                        goto err_unlock;
                *val *= scale;
        } else {