summaryrefslogtreecommitdiffstats
path: root/drivers/iio/kfifo_buf.c
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2013-10-15 10:30:00 +0200
committerJonathan Cameron <jic23@kernel.org>2013-10-15 20:18:34 +0200
commitf6c23f483937b8be53f313ec31068acdca91a25d (patch)
tree4b976bdb8eebfaa0ece42df5d2c779c3d3a37cbf /drivers/iio/kfifo_buf.c
parentstaging:iio: Allow to build SoC specific drivers when COMPILE_TEST is set (diff)
downloadlinux-f6c23f483937b8be53f313ec31068acdca91a25d.tar.xz
linux-f6c23f483937b8be53f313ec31068acdca91a25d.zip
iio:kfifo: Fix memory leak
We need to free the kfifo when we release the buffer, otherwise the fifos memory will be leaked. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio/kfifo_buf.c')
-rw-r--r--drivers/iio/kfifo_buf.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iio/kfifo_buf.c b/drivers/iio/kfifo_buf.c
index b4ac55a29fc4..ce51092695ab 100644
--- a/drivers/iio/kfifo_buf.c
+++ b/drivers/iio/kfifo_buf.c
@@ -132,7 +132,10 @@ static int iio_read_first_n_kfifo(struct iio_buffer *r,
static void iio_kfifo_buffer_release(struct iio_buffer *buffer)
{
- kfree(iio_to_kfifo(buffer));
+ struct iio_kfifo *kf = iio_to_kfifo(buffer);
+
+ kfifo_free(&kf->kf);
+ kfree(kf);
}
static const struct iio_buffer_access_funcs kfifo_access_funcs = {