Dear all, A new patch v2 has been sent: https://patchwork.kernel.org/project/linux-media/list/?series=761892 current patch is superseded and can be abandoned. Thank you very much On Sat, 2023-07-01 at 17:05 +0800, Irui Wang wrote: > "fb_use_list" is vp9 stateful decoder driver to store current > used or referenced frame buffer, and "fb_free_list" is used to > store current available to be freed frame buffer. When the > target frame buffer cannot be found in "fb_use_list", "NULL" > should be returned to prevent unexpected frame buffer from being > placed into "fb_free_list". > > Signed-off-by: Irui Wang <irui.wang@xxxxxxxxxxxx> > --- > drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_if.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git > a/drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_if.c > b/drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_if.c > index 70b8383f7c8e..e77d5a2452c1 100644 > --- a/drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_if.c > +++ b/drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_if.c > @@ -220,15 +220,21 @@ static struct vdec_fb > *vp9_rm_from_fb_use_list(struct vdec_vp9_inst > { > struct vdec_fb *fb = NULL; > struct vdec_fb_node *node; > + bool found = false; > > list_for_each_entry(node, &inst->fb_use_list, list) { > fb = (struct vdec_fb *)node->fb; > if (fb->base_y.va == addr) { > list_move_tail(&node->list, > &inst->available_fb_node_list); > + found = true; > break; > } > } > + > + if (!found) > + fb = NULL; > + > return fb; > } >