| From ef23f1706ac2c803793e2d3b221718d5766b542d Mon Sep 17 00:00:00 2001 |
| From: Stefan Popa <stefan.popa@analog.com> |
| Date: Tue, 10 Sep 2019 17:44:21 +0300 |
| Subject: [PATCH] iio: accel: adxl372: Fix push to buffers lost samples |
| |
| commit 62df81b74393079debf04961c48cb22268fc5fab upstream. |
| |
| 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> |
| Fixes: f4f55ce38e5f ("iio:adxl372: Add FIFO and interrupts support") |
| Cc: <Stable@vger.kernel.org> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c |
| index 863fe61a371f..fbad4b45fe42 100644 |
| --- a/drivers/iio/accel/adxl372.c |
| +++ b/drivers/iio/accel/adxl372.c |
| @@ -553,8 +553,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 |
| |