From 49023146c63fe27639663406ae99b170ff328b55 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 a73f90282c894..408a7b945153c 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.39.5