mirror of
https://github.com/torvalds/linux.git
synced 2026-05-28 09:04:39 +02:00
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:
parent
d1bf1a865f
commit
271a25f648
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user