]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: adc: ad7606: fix reading unnecessary data from device
authorBeniamin Bia <beniamin.bia@analog.com>
Mon, 4 Nov 2019 16:26:34 +0000 (18:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 17 Dec 2019 19:07:11 +0000 (20:07 +0100)
commit 341826a065660d1b77d89e6335b6095cd654271c upstream.

When a conversion result is being read from ADC, the driver reads the
number of channels + 1 because it thinks that IIO_CHAN_SOFT_TIMESTAMP
is also a physical channel. This patch fixes this issue.

Fixes: 2985a5d88455 ("staging: iio: adc: ad7606: Move out of staging")
Reported-by: Robert Wörle <rwoerle@mibtec.de>
Signed-off-by: Beniamin Bia <beniamin.bia@analog.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/iio/adc/ad7606.c

index aba0fd123a51bb714aa767235915639e1b777ee7..0e3b085a85bbecb7ee4e56785e191fec9db2958c 100644 (file)
@@ -57,7 +57,7 @@ static int ad7606_reset(struct ad7606_state *st)
 
 static int ad7606_read_samples(struct ad7606_state *st)
 {
-       unsigned int num = st->chip_info->num_channels;
+       unsigned int num = st->chip_info->num_channels - 1;
        u16 *data = st->data;
        int ret;