From: Matt Ranostay Date: Sat, 26 Mar 2016 03:42:58 +0000 (-0700) Subject: iio: health: max30100: correct FIFO check condition X-Git-Tag: v4.6-rc3~10^2~2^2~5 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b74fccad751d2664bda9dd3c90646bb61295e774;p=karo-tx-linux.git iio: health: max30100: correct FIFO check condition Correct issue that the last entry in FIFO was being read twice due to an incorrect decrement of entry count variable before condition check. Signed-off-by: Matt Ranostay Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/health/max30100.c b/drivers/iio/health/max30100.c index 09db89359544..90ab8a2d2846 100644 --- a/drivers/iio/health/max30100.c +++ b/drivers/iio/health/max30100.c @@ -238,12 +238,13 @@ static irqreturn_t max30100_interrupt_handler(int irq, void *private) mutex_lock(&data->lock); - while (cnt-- || (cnt = max30100_fifo_count(data) > 0)) { + while (cnt || (cnt = max30100_fifo_count(data) > 0)) { ret = max30100_read_measurement(data); if (ret) break; iio_push_to_buffers(data->indio_dev, data->buffer); + cnt--; } mutex_unlock(&data->lock);