diff --git a/drivers/amlogic/media/video_processor/pic_dev/picdec.c b/drivers/amlogic/media/video_processor/pic_dev/picdec.c index edeb424ffae2c63e9acb9181ea400765d4faacd9..0d282524809292ad9eaa7498251bef8401b0a9ef 100644 --- a/drivers/amlogic/media/video_processor/pic_dev/picdec.c +++ b/drivers/amlogic/media/video_processor/pic_dev/picdec.c @@ -199,6 +199,10 @@ static void picdec_vf_put(struct vframe_s *vf, void *op_arg) if (!vf) return; INCPTR(putting_ptr); + if (putting_ptr == fill_ptr) { + aml_pr_info(1, "buffer%d is being in use, skip\n", fill_ptr); + return; + } for (i = 0; i < VF_POOL_SIZE; i++) { canvas_addr = index2canvas(i); if (vf->canvas0Addr == canvas_addr) {