iio:kfifo: Empty buffer on update
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 15 Oct 2013 08:30:00 +0000 (09:30 +0100)
committerJonathan Cameron <jic23@kernel.org>
Tue, 15 Oct 2013 18:20:51 +0000 (19:20 +0100)
commit5b78e5138e6a636d00fea08514bfc5a2ff5dfb15
treedbfab70b57bcbc30e95784750dc9ff6d26923d22
parent0894d80dfddaeb9f95904ceab623460c1bfdab06
iio:kfifo: Empty buffer on update

The kfifo's request_update callback will free the current buffer and allocate a
new one if the size has changed. This will remove any samples that might still
be left in the buffer. If the size has not changed the buffer content is
left untouched though. This is a bit inconsistent and might cause an application
to see data from a previous capture. This patch inserts a call to
kfifo_reset_out() when the size did not change. This makes sure that any pending
samples are removed from the buffer.

Note, due to a different bug the buffer is currently always re-allocated, even
if the size did not change. So this patch will not change the behavior. In the
next patch the bug will be fixed and this patch makes sure that the current
behavior is kept.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/kfifo_buf.c