Commit 271a25f6 authored by Jonathan Cameron's avatar Jonathan Cameron

staging:iio:accel:sca3000 Fix clearing of flag + setting of size of scan.

Not clearing the stuff_to_read flag can lead to a false flag being set
on restarting the buffer if the data was not all read the previous time.

The size of the scan is needed to ensure the function
iio_buffer_read_first_n_outer actually tries to read the data.

This stuff has been broken for some time so not stable material.
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
Reviewed-by: default avatarLars-Peter Clausen <lars@metafoo.de>
parent d1bf1a86
......@@ -1491,6 +1491,19 @@ int __sca3000_hw_ring_state_set(struct iio_dev *indio_dev, bool state)
**/
static int sca3000_hw_ring_preenable(struct iio_dev *indio_dev)
{
/*
* Set stuff to read to indicate no data present.
* Need for cases where the interrupt had fired at the
* end of a cycle, but the data was never read.
*/
indio_dev->buffer->stufftoread = 0;
/*
* Needed to ensure the core will actually read data
* from the device rather than assuming no channels
* are enabled.
*/
indio_dev->buffer->bytes_per_datum = 6;
return __sca3000_hw_ring_state_set(indio_dev, 1);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment