Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 655048a0 authored by Matt Ranostay's avatar Matt Ranostay Committed by Jonathan Cameron
Browse files

iio: light: apds9960: 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: default avatarMatt Ranostay <mranostay@gmail.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 5c913eb9
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -769,7 +769,7 @@ static void apds9960_read_gesture_fifo(struct apds9960_data *data)
	mutex_lock(&data->lock);
	data->gesture_mode_running = 1;

	while (cnt-- || (cnt = apds9660_fifo_is_empty(data) > 0)) {
	while (cnt || (cnt = apds9660_fifo_is_empty(data) > 0)) {
		ret = regmap_bulk_read(data->regmap, APDS9960_REG_GFIFO_BASE,
				      &data->buffer, 4);

@@ -777,6 +777,7 @@ static void apds9960_read_gesture_fifo(struct apds9960_data *data)
			goto err_read;

		iio_push_to_buffers(data->indio_dev, data->buffer);
		cnt--;
	}

err_read: