From 9bc30b3a7951a2568817a8c8024e6bdc469e305e Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Mon, 20 Mar 2017 14:40:06 +0000 Subject: [PATCH] atomisp/imx: Fix locking bug on error path This was reported by Dan Carpenter. When we error with an IMX 227 we don't release the lock and the sensor would then hang. Signed-off-by: Alan Cox Signed-off-by: Greg Kroah-Hartman --- drivers/staging/media/atomisp/i2c/imx/imx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/media/atomisp/i2c/imx/imx.c b/drivers/staging/media/atomisp/i2c/imx/imx.c index a73f90282c89..408a7b945153 100644 --- a/drivers/staging/media/atomisp/i2c/imx/imx.c +++ b/drivers/staging/media/atomisp/i2c/imx/imx.c @@ -454,8 +454,10 @@ static int imx_set_exposure_gain(struct v4l2_subdev *sd, u16 coarse_itg, if (dev->sensor_id == IMX227_ID) { ret = imx_write_reg_array(client, imx_param_hold); - if (ret) + if (ret) { + mutex_unlock(&dev->input_lock); return ret; + } } /* For imx175, setting gain must be delayed by one */ -- 2.45.2