2019-09-03 09:20:42

by Stefan Popa

[permalink] [raw]
Subject: [PATCH 2/3] iio: accel: adxl372: Fix push to buffers lost samples

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 <[email protected]>
---
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:
--
2.7.4


2019-09-08 12:59:56

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH 2/3] iio: accel: adxl372: Fix push to buffers lost samples

On Tue, 3 Sep 2019 12:18:33 +0300
Stefan Popa <[email protected]> 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 <[email protected]>
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: