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: Jonathan Cameron <jic23@kernel.org> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
This commit is contained in:
@@ -1491,6 +1491,19 @@ error_ret:
|
||||
**/
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user