diff --git a/[refs] b/[refs] index 675bcbe69f4b..f2b88ffa7676 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 369d0e20138c774e4c0c07ca1572e412207bc3fc +refs/heads/master: 801c4b5ca373c4cfe78912616d68e1f7fd84110c diff --git a/trunk/drivers/iio/inkern.c b/trunk/drivers/iio/inkern.c index 25b00761005a..e38f41464fe4 100644 --- a/trunk/drivers/iio/inkern.c +++ b/trunk/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 @@ struct iio_channel *iio_channel_get(const char *name, const char *channel_name) 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);