Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Sergey Senozhatsky and committed by
Hans Verkuil
daa7031a df4ff474

+18 -18
+9 -9
drivers/media/platform/qcom/venus/vdec.c
··· 1697 1697 if (ret) 1698 1698 goto err_free; 1699 1699 1700 - ret = hfi_session_create(inst, &vdec_hfi_ops); 1701 - if (ret) 1702 - goto err_ctrl_deinit; 1703 - 1704 1700 vdec_inst_init(inst); 1705 1701 1706 1702 ida_init(&inst->dpb_ids); ··· 1708 1712 inst->m2m_dev = v4l2_m2m_init(&vdec_m2m_ops); 1709 1713 if (IS_ERR(inst->m2m_dev)) { 1710 1714 ret = PTR_ERR(inst->m2m_dev); 1711 - goto err_session_destroy; 1715 + goto err_ctrl_deinit; 1712 1716 } 1713 1717 1714 1718 inst->m2m_ctx = v4l2_m2m_ctx_init(inst->m2m_dev, inst, m2m_queue_init); 1715 1719 if (IS_ERR(inst->m2m_ctx)) { 1716 1720 ret = PTR_ERR(inst->m2m_ctx); 1717 - goto err_m2m_release; 1721 + goto err_m2m_dev_release; 1718 1722 } 1723 + 1724 + ret = hfi_session_create(inst, &vdec_hfi_ops); 1725 + if (ret) 1726 + goto err_m2m_ctx_release; 1719 1727 1720 1728 v4l2_fh_init(&inst->fh, core->vdev_dec); 1721 1729 ··· 1730 1730 1731 1731 return 0; 1732 1732 1733 - err_m2m_release: 1733 + err_m2m_ctx_release: 1734 + v4l2_m2m_ctx_release(inst->m2m_ctx); 1735 + err_m2m_dev_release: 1734 1736 v4l2_m2m_release(inst->m2m_dev); 1735 - err_session_destroy: 1736 - hfi_session_destroy(inst); 1737 1737 err_ctrl_deinit: 1738 1738 v4l2_ctrl_handler_free(&inst->ctrl_handler); 1739 1739 err_free:
+9 -9
drivers/media/platform/qcom/venus/venc.c
··· 1492 1492 if (ret) 1493 1493 goto err_free; 1494 1494 1495 - ret = hfi_session_create(inst, &venc_hfi_ops); 1496 - if (ret) 1497 - goto err_ctrl_deinit; 1498 - 1499 1495 venc_inst_init(inst); 1500 1496 1501 1497 /* ··· 1501 1505 inst->m2m_dev = v4l2_m2m_init(&venc_m2m_ops); 1502 1506 if (IS_ERR(inst->m2m_dev)) { 1503 1507 ret = PTR_ERR(inst->m2m_dev); 1504 - goto err_session_destroy; 1508 + goto err_ctrl_deinit; 1505 1509 } 1506 1510 1507 1511 inst->m2m_ctx = v4l2_m2m_ctx_init(inst->m2m_dev, inst, m2m_queue_init); 1508 1512 if (IS_ERR(inst->m2m_ctx)) { 1509 1513 ret = PTR_ERR(inst->m2m_ctx); 1510 - goto err_m2m_release; 1514 + goto err_m2m_dev_release; 1511 1515 } 1516 + 1517 + ret = hfi_session_create(inst, &venc_hfi_ops); 1518 + if (ret) 1519 + goto err_m2m_ctx_release; 1512 1520 1513 1521 v4l2_fh_init(&inst->fh, core->vdev_enc); 1514 1522 ··· 1523 1523 1524 1524 return 0; 1525 1525 1526 - err_m2m_release: 1526 + err_m2m_ctx_release: 1527 + v4l2_m2m_ctx_release(inst->m2m_ctx); 1528 + err_m2m_dev_release: 1527 1529 v4l2_m2m_release(inst->m2m_dev); 1528 - err_session_destroy: 1529 - hfi_session_destroy(inst); 1530 1530 err_ctrl_deinit: 1531 1531 v4l2_ctrl_handler_free(&inst->ctrl_handler); 1532 1532 err_free: