Refactor the cedrus_open() function so that there is only one exit to the function instead of 2. This prevents a future change from preventing the mutex from being unlocked after a successful exit. Signed-off-by: Ian Cowan <ian@xxxxxxxxxxxxxxxx> --- drivers/staging/media/sunxi/cedrus/cedrus.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c index 68b3dcdb5df3..5236d9e4f4e8 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus.c @@ -348,14 +348,14 @@ static int cedrus_open(struct file *file) v4l2_fh_add(&ctx->fh); - mutex_unlock(&dev->dev_mutex); - - return 0; + ret = 0; + goto succ_unlock; err_ctrls: v4l2_ctrl_handler_free(&ctx->hdl); err_free: kfree(ctx); +succ_unlock: mutex_unlock(&dev->dev_mutex); return ret; -- 2.35.1