diff --git a/drivers/amlogic/media/video_processor/video_dev/amlvideo2.c b/drivers/amlogic/media/video_processor/video_dev/amlvideo2.c index dd492c5c9fee..66a715f82d97 100644 --- a/drivers/amlogic/media/video_processor/video_dev/amlvideo2.c +++ b/drivers/amlogic/media/video_processor/video_dev/amlvideo2.c @@ -4035,7 +4035,14 @@ static int amlvideo2_thread(void *data) } /*msleep(10);*/ - node->tmp_vf = NULL; + if (node->tmp_vf != NULL) { + if ((node->recv.name != NULL) && + (!vf_get_receiver(node->recv.name))) { + vf_put(node->tmp_vf, node->recv.name); + } + node->tmp_vf = NULL; + } + if (amlvideo2_dbg_en) { if (node->vid == 0) pr_info("amlvideo2.0 thread exit.\n");