Re: [PATCH] iio: adc: ad7606: fix reading unnecessary data from device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, 10 Nov 2019 10:46:25 +0000
Jonathan Cameron <jic23@xxxxxxxxxx> wrote:

> On Mon, 4 Nov 2019 18:26:34 +0200
> Beniamin Bia <beniamin.bia@xxxxxxxxxx> wrote:
> 
> > 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: 552a21f35477 ("staging: iio: adc: ad7606: Move out of staging")
> > Reported-by: Robert Wörle <rwoerle@xxxxxxxxx>
> > Signed-off-by: Beniamin Bia <beniamin.bia@xxxxxxxxxx>  
> Applied to the fixes-togreg branch of iio.git and marked for stable.
I was just about to send the pull including this and was checking the
fixes tags.  The commit you have here doesn't seem to exist.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/iio/adc/ad7606.c?id=2985a5d88455a3edd51358fc77f61b684d0e9265
Seems to be the right one.

I've fixed it up.

Jonathan

> 
> We are at that point in the cycle where I 'might' move this into
> the togreg branch for the merge window.  All depends on what Linus
> says in his rc7 email that'll probably be out later today.
> Previously he hinted we'd have an rc8 this time. If that happens
> I'll do one last pull request and hence take the queued up fixes
> in with that for the merge window.  I don't have anything critical
> enough to do a fixes pull this later in the cycle.
> 
> Thanks,
> 
> Jonathan
> 
> > ---
> >  drivers/iio/adc/ad7606.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/iio/adc/ad7606.c b/drivers/iio/adc/ad7606.c
> > index f5ba94c03a8d..e4683a68522a 100644
> > --- a/drivers/iio/adc/ad7606.c
> > +++ b/drivers/iio/adc/ad7606.c
> > @@ -85,7 +85,7 @@ static int ad7606_reg_access(struct iio_dev *indio_dev,
> >  
> >  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;
> >    
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux