[2/3] iio: accel: adxl372: Fix push to buffers lost samples
diff mbox series

Message ID 1567502313-10314-1-git-send-email-stefan.popa@analog.com
State New
Headers show
Series
  • [1/3] iio: accel: adxl372: Fix/remove limitation for FIFO samples
Related show

Commit Message

Stefan Popa Sept. 3, 2019, 9:18 a.m. UTC
One in two sample sets was lost by multiplying fifo_set_size with
sizeof(u16). Also, the double number of available samples were pushed to
the iio buffers.

Signed-off-by: Stefan Popa <stefan.popa@analog.com>
---
 drivers/iio/accel/adxl372.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Jonathan Cameron Sept. 8, 2019, 9:29 a.m. UTC | #1
On Tue, 3 Sep 2019 12:18:33 +0300
Stefan Popa <stefan.popa@analog.com> wrote:

> One in two sample sets was lost by multiplying fifo_set_size with
> sizeof(u16). Also, the double number of available samples were pushed to
> the iio buffers.
> 
> Signed-off-by: Stefan Popa <stefan.popa@analog.com>
Looks right to me.   Will pick up once we've resolved the questions
on patch 1.

Thanks,

Jonathan

> ---
>  drivers/iio/accel/adxl372.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
> index adec37b..72d3f45 100644
> --- a/drivers/iio/accel/adxl372.c
> +++ b/drivers/iio/accel/adxl372.c
> @@ -548,8 +548,7 @@ static irqreturn_t adxl372_trigger_handler(int irq, void  *p)
>  			goto err;
>  
>  		/* Each sample is 2 bytes */
> -		for (i = 0; i < fifo_entries * sizeof(u16);
> -		     i += st->fifo_set_size * sizeof(u16))
> +		for (i = 0; i < fifo_entries; i += st->fifo_set_size)
>  			iio_push_to_buffers(indio_dev, &st->fifo_buf[i]);
>  	}
>  err:

Patch
diff mbox series

diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
index adec37b..72d3f45 100644
--- a/drivers/iio/accel/adxl372.c
+++ b/drivers/iio/accel/adxl372.c
@@ -548,8 +548,7 @@  static irqreturn_t adxl372_trigger_handler(int irq, void  *p)
 			goto err;
 
 		/* Each sample is 2 bytes */
-		for (i = 0; i < fifo_entries * sizeof(u16);
-		     i += st->fifo_set_size * sizeof(u16))
+		for (i = 0; i < fifo_entries; i += st->fifo_set_size)
 			iio_push_to_buffers(indio_dev, &st->fifo_buf[i]);
 	}
 err: