diff --git a/drivers/amlogic/media/video_processor/video_dev/amlvideo.c b/drivers/amlogic/media/video_processor/video_dev/amlvideo.c index 082b3d60250f..cf6308474baf 100644 --- a/drivers/amlogic/media/video_processor/video_dev/amlvideo.c +++ b/drivers/amlogic/media/video_processor/video_dev/amlvideo.c @@ -764,6 +764,8 @@ static int amlvideo_close(struct file *file) mutex_lock(&dev->mutex); dev->users--; mutex_unlock(&dev->mutex); + if (dev->inst == 0) + video_inuse = 0; AMLVIDEO_DBG("amlvideo close"); return 0; } diff --git a/drivers/amlogic/media/video_processor/video_dev/amlvideo.h b/drivers/amlogic/media/video_processor/video_dev/amlvideo.h index 8dcb3ef227cb..6d084d9ada62 100644 --- a/drivers/amlogic/media/video_processor/video_dev/amlvideo.h +++ b/drivers/amlogic/media/video_processor/video_dev/amlvideo.h @@ -103,6 +103,7 @@ struct vivi_fh { enum v4l2_buf_type type; }; +extern bool video_inuse; extern bool omx_secret_mode; extern void get_ppmgr_buf_info(char **start, unsigned int *size); diff --git a/drivers/amlogic/media/video_sink/video.c b/drivers/amlogic/media/video_sink/video.c index 10ceb7d31b31..900fccf117d7 100644 --- a/drivers/amlogic/media/video_sink/video.c +++ b/drivers/amlogic/media/video_sink/video.c @@ -1116,7 +1116,7 @@ static u32 last_toggle_count; static u32 toggle_same_count; /* video_inuse */ -static u32 video_inuse; +u32 video_inuse; void set_freerun_mode(int mode) {