summaryrefslogtreecommitdiffstats
path: root/drivers/iio/buffer_cb.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-18 01:57:20 +0200
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-06-18 01:57:20 +0200
commitbb07b00be77fb33274cb44a03bdbf2471e556189 (patch)
tree620390077de843dd7626998f0d8441d14a6c66d9 /drivers/iio/buffer_cb.c
parentkobject: sanitize argument for format string (diff)
parentLinux 3.10-rc6 (diff)
downloadlinux-bb07b00be77fb33274cb44a03bdbf2471e556189.tar.xz
linux-bb07b00be77fb33274cb44a03bdbf2471e556189.zip
Merge 3.10-rc6 into driver-core-next
We want these fixes here too. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/iio/buffer_cb.c')
-rw-r--r--drivers/iio/buffer_cb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iio/buffer_cb.c b/drivers/iio/buffer_cb.c
index 9201022945e9..9d19ba74f22b 100644
--- a/drivers/iio/buffer_cb.c
+++ b/drivers/iio/buffer_cb.c
@@ -64,7 +64,7 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
while (chan->indio_dev) {
if (chan->indio_dev != indio_dev) {
ret = -EINVAL;
- goto error_release_channels;
+ goto error_free_scan_mask;
}
set_bit(chan->channel->scan_index,
cb_buff->buffer.scan_mask);
@@ -73,6 +73,8 @@ struct iio_cb_buffer *iio_channel_get_all_cb(struct device *dev,
return cb_buff;
+error_free_scan_mask:
+ kfree(cb_buff->buffer.scan_mask);
error_release_channels:
iio_channel_release_all(cb_buff->channels);
error_free_cb_buff:
@@ -100,6 +102,7 @@ EXPORT_SYMBOL_GPL(iio_channel_stop_all_cb);
void iio_channel_release_all_cb(struct iio_cb_buffer *cb_buff)
{
+ kfree(cb_buff->buffer.scan_mask);
iio_channel_release_all(cb_buff->channels);
kfree(cb_buff);
}