In the success path of iio_device_claim_buffer_mode(), mutex_unlock() should be called before return. Fixes: e6dad5edfb8c ("iio: core: introduce iio_device_{claim|release}_buffer_mode() APIs") Signed-off-by: Peng Wu <wupeng58@xxxxxxxxxx> --- drivers/iio/industrialio-core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c index 52e690f031cb..88987cdc9e3f 100644 --- a/drivers/iio/industrialio-core.c +++ b/drivers/iio/industrialio-core.c @@ -2102,8 +2102,10 @@ int iio_device_claim_buffer_mode(struct iio_dev *indio_dev) mutex_lock(&iio_dev_opaque->mlock); - if (iio_buffer_enabled(indio_dev)) + if (iio_buffer_enabled(indio_dev)) { + mutex_unlock(&iio_dev_opaque->mlock); return 0; + } mutex_unlock(&iio_dev_opaque->mlock); return -EBUSY; -- 2.17.1