Skip to content

Commit daa7031

Browse files
sergey-senozhatskyhverkuil
authored andcommitted
media: venus: match instance creation and destruction order
Match order of instances' initialization in venc_open()/vdec_close() and order of destruction in venus_common_close(). Suggested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org> Signed-off-by: Stanimir Varbanov <stanimir.k.varbanov@gmail.com> Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
1 parent df4ff47 commit daa7031

File tree

2 files changed

+18
-18
lines changed

2 files changed

+18
-18
lines changed

drivers/media/platform/qcom/venus/vdec.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1697,10 +1697,6 @@ static int vdec_open(struct file *file)
16971697
if (ret)
16981698
goto err_free;
16991699

1700-
ret = hfi_session_create(inst, &vdec_hfi_ops);
1701-
if (ret)
1702-
goto err_ctrl_deinit;
1703-
17041700
vdec_inst_init(inst);
17051701

17061702
ida_init(&inst->dpb_ids);
@@ -1712,15 +1708,19 @@ static int vdec_open(struct file *file)
17121708
inst->m2m_dev = v4l2_m2m_init(&vdec_m2m_ops);
17131709
if (IS_ERR(inst->m2m_dev)) {
17141710
ret = PTR_ERR(inst->m2m_dev);
1715-
goto err_session_destroy;
1711+
goto err_ctrl_deinit;
17161712
}
17171713

17181714
inst->m2m_ctx = v4l2_m2m_ctx_init(inst->m2m_dev, inst, m2m_queue_init);
17191715
if (IS_ERR(inst->m2m_ctx)) {
17201716
ret = PTR_ERR(inst->m2m_ctx);
1721-
goto err_m2m_release;
1717+
goto err_m2m_dev_release;
17221718
}
17231719

1720+
ret = hfi_session_create(inst, &vdec_hfi_ops);
1721+
if (ret)
1722+
goto err_m2m_ctx_release;
1723+
17241724
v4l2_fh_init(&inst->fh, core->vdev_dec);
17251725

17261726
inst->fh.ctrl_handler = &inst->ctrl_handler;
@@ -1730,10 +1730,10 @@ static int vdec_open(struct file *file)
17301730

17311731
return 0;
17321732

1733-
err_m2m_release:
1733+
err_m2m_ctx_release:
1734+
v4l2_m2m_ctx_release(inst->m2m_ctx);
1735+
err_m2m_dev_release:
17341736
v4l2_m2m_release(inst->m2m_dev);
1735-
err_session_destroy:
1736-
hfi_session_destroy(inst);
17371737
err_ctrl_deinit:
17381738
v4l2_ctrl_handler_free(&inst->ctrl_handler);
17391739
err_free:

drivers/media/platform/qcom/venus/venc.c

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1492,10 +1492,6 @@ static int venc_open(struct file *file)
14921492
if (ret)
14931493
goto err_free;
14941494

1495-
ret = hfi_session_create(inst, &venc_hfi_ops);
1496-
if (ret)
1497-
goto err_ctrl_deinit;
1498-
14991495
venc_inst_init(inst);
15001496

15011497
/*
@@ -1505,15 +1501,19 @@ static int venc_open(struct file *file)
15051501
inst->m2m_dev = v4l2_m2m_init(&venc_m2m_ops);
15061502
if (IS_ERR(inst->m2m_dev)) {
15071503
ret = PTR_ERR(inst->m2m_dev);
1508-
goto err_session_destroy;
1504+
goto err_ctrl_deinit;
15091505
}
15101506

15111507
inst->m2m_ctx = v4l2_m2m_ctx_init(inst->m2m_dev, inst, m2m_queue_init);
15121508
if (IS_ERR(inst->m2m_ctx)) {
15131509
ret = PTR_ERR(inst->m2m_ctx);
1514-
goto err_m2m_release;
1510+
goto err_m2m_dev_release;
15151511
}
15161512

1513+
ret = hfi_session_create(inst, &venc_hfi_ops);
1514+
if (ret)
1515+
goto err_m2m_ctx_release;
1516+
15171517
v4l2_fh_init(&inst->fh, core->vdev_enc);
15181518

15191519
inst->fh.ctrl_handler = &inst->ctrl_handler;
@@ -1523,10 +1523,10 @@ static int venc_open(struct file *file)
15231523

15241524
return 0;
15251525

1526-
err_m2m_release:
1526+
err_m2m_ctx_release:
1527+
v4l2_m2m_ctx_release(inst->m2m_ctx);
1528+
err_m2m_dev_release:
15271529
v4l2_m2m_release(inst->m2m_dev);
1528-
err_session_destroy:
1529-
hfi_session_destroy(inst);
15301530
err_ctrl_deinit:
15311531
v4l2_ctrl_handler_free(&inst->ctrl_handler);
15321532
err_free:

0 commit comments

Comments
 (0)