From: Alan Cox Date: Mon, 20 Mar 2017 14:40:06 +0000 (+0000) Subject: atomisp/imx: Fix locking bug on error path X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9bc30b3a7951a2568817a8c8024e6bdc469e305e;p=linux.git 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 --- 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 */