media: rcar_fdp1: simplify error check logic at fdp_open()

[ Upstream commit fa9f443f7c962d072d150472e2bb77de39817a9a ]

Avoid some code duplication by moving the common error path
logic at fdp_open().

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Stable-dep-of: c766c90faf93 ("media: rcar_fdp1: Fix refcount leak in probe and remove function")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Mauro Carvalho Chehab
2021-04-23 16:59:34 +02:00
committed by Greg Kroah-Hartman
parent 7dac96e9cc
commit 21de9d0daa

View File

@@ -2121,9 +2121,7 @@ static int fdp1_open(struct file *file)
if (ctx->hdl.error) {
ret = ctx->hdl.error;
v4l2_ctrl_handler_free(&ctx->hdl);
kfree(ctx);
goto done;
goto error_ctx;
}
ctx->fh.ctrl_handler = &ctx->hdl;
@@ -2137,10 +2135,7 @@ static int fdp1_open(struct file *file)
if (IS_ERR(ctx->fh.m2m_ctx)) {
ret = PTR_ERR(ctx->fh.m2m_ctx);
v4l2_ctrl_handler_free(&ctx->hdl);
kfree(ctx);
goto done;
goto error_ctx;
}
/* Perform any power management required */
@@ -2151,6 +2146,12 @@ static int fdp1_open(struct file *file)
dprintk(fdp1, "Created instance: %p, m2m_ctx: %p\n",
ctx, ctx->fh.m2m_ctx);
mutex_unlock(&fdp1->dev_mutex);
return 0;
error_ctx:
v4l2_ctrl_handler_free(&ctx->hdl);
kfree(ctx);
done:
mutex_unlock(&fdp1->dev_mutex);
return ret;