media: mediatek: vcodec: Fix VP8 stateless decoder smatch warning
commit b113bc7c0e83b32f4dd2d291a2b6c4803e0a2c44 upstream. Fix a smatch static checker warning on vdec_vp8_req_if.c. Which leads to a kernel crash when fb is NULL. Fixes: 7a7ae26fd458 ("media: mediatek: vcodec: support stateless VP8 decoding") Signed-off-by: Yunfei Dong <yunfei.dong@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> Signed-off-by: Bin Lan <bin.lan.cn@windriver.com> Signed-off-by: He Zhe <zhe.he@windriver.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
a12bd67510
commit
4e0713c79c
@ -336,14 +336,18 @@ static int vdec_vp8_slice_decode(void *h_vdec, struct mtk_vcodec_mem *bs,
|
|||||||
src_buf_info = container_of(bs, struct mtk_video_dec_buf, bs_buffer);
|
src_buf_info = container_of(bs, struct mtk_video_dec_buf, bs_buffer);
|
||||||
|
|
||||||
fb = inst->ctx->dev->vdec_pdata->get_cap_buffer(inst->ctx);
|
fb = inst->ctx->dev->vdec_pdata->get_cap_buffer(inst->ctx);
|
||||||
dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
|
if (!fb) {
|
||||||
|
mtk_vcodec_err(inst, "fb buffer is NULL");
|
||||||
|
return -ENOMEM;
|
||||||
|
}
|
||||||
|
|
||||||
y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0;
|
dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
|
||||||
|
y_fb_dma = fb->base_y.dma_addr;
|
||||||
if (inst->ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1)
|
if (inst->ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1)
|
||||||
c_fb_dma = y_fb_dma +
|
c_fb_dma = y_fb_dma +
|
||||||
inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h;
|
inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h;
|
||||||
else
|
else
|
||||||
c_fb_dma = fb ? (u64)fb->base_c.dma_addr : 0;
|
c_fb_dma = fb->base_c.dma_addr;
|
||||||
|
|
||||||
inst->vsi->dec.bs_dma = (u64)bs->dma_addr;
|
inst->vsi->dec.bs_dma = (u64)bs->dma_addr;
|
||||||
inst->vsi->dec.bs_sz = bs->size;
|
inst->vsi->dec.bs_sz = bs->size;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user