summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIrui Wang <irui.wang@mediatek.com>2024-03-21 09:47:54 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-03-13 12:53:25 +0100
commitdbd3e4adb98e50ede74f00b3fa956fa29ef95e6c (patch)
tree66b9f6ca268aa77b5613badd0095a071fc1c5368
parent30652c8ceb9a1e6c13c03f9e570d560f86022d75 (diff)
media: mediatek: vcodec: Handle invalid decoder vsi
commit 59d438f8e02ca641c58d77e1feffa000ff809e9f upstream. Handle an invalid decoder vsi in vpu_dec_init to ensure the decoder vsi is valid for future use. Fixes: 590577a4e525 ("[media] vcodec: mediatek: Add Mediatek V4L2 Video Decoder Driver") Signed-off-by: Irui Wang <irui.wang@mediatek.com> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Sebastian Fricke <sebastian.fricke@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> [ Replace mtk_vdec_err with mtk_vcodec_err to make it work on 6.1.y ] Signed-off-by: Alva Lan <alvalan9@foxmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c
index df309e8e9379..af3fc89b6cc5 100644
--- a/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c
+++ b/drivers/media/platform/mediatek/vcodec/vdec_vpu_if.c
@@ -213,6 +213,12 @@ int vpu_dec_init(struct vdec_vpu_inst *vpu)
mtk_vcodec_debug(vpu, "vdec_inst=%p", vpu);
err = vcodec_vpu_send_msg(vpu, (void *)&msg, sizeof(msg));
+
+ if (IS_ERR_OR_NULL(vpu->vsi)) {
+ mtk_vcodec_err(vpu, "invalid vdec vsi, status=%d", err);
+ return -EINVAL;
+ }
+
mtk_vcodec_debug(vpu, "- ret=%d", err);
return err;
}