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

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

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
This commit is contained in:
Mauro Carvalho Chehab 2021-04-23 16:59:34 +02:00
parent d07bb9702c
commit fa9f443f7c
1 changed files with 8 additions and 7 deletions

View File

@ -2117,9 +2117,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;
@ -2133,10 +2131,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 */
@ -2147,6 +2142,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;