aboutsummaryrefslogtreecommitdiff
path: root/drivers/iio/inkern.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio/inkern.c')
-rw-r--r--drivers/iio/inkern.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/iio/inkern.c b/drivers/iio/inkern.c
index 25b00761005..e38f41464fe 100644
--- a/drivers/iio/inkern.c
+++ b/drivers/iio/inkern.c
@@ -132,7 +132,7 @@ struct iio_channel *iio_channel_get(const char *name, const char *channel_name)
channel = kzalloc(sizeof(*channel), GFP_KERNEL);
if (channel == NULL)
- return ERR_PTR(-ENOMEM);
+ goto error_no_mem;
channel->indio_dev = c->indio_dev;
@@ -151,6 +151,9 @@ error_no_chan:
iio_device_put(c->indio_dev);
kfree(channel);
return ERR_PTR(-EINVAL);
+error_no_mem:
+ iio_device_put(c->indio_dev);
+ return ERR_PTR(-ENOMEM);
}
EXPORT_SYMBOL_GPL(iio_channel_get);