Quoting Laurent Pinchart (2022-03-18 21:14:45) > Use the vb2_fop_release() helper to replace the open-coded version. The > video->lock is assigned to the queue lock, used by vb2_fop_release(), so > the only functional difference is that v4l2_fh_release() is now called > before vsp1_device_put(). This should be harmless. > Seems to check out. Reviewed-by: Kieran Bingham <kieran.bingham+renesas@xxxxxxxxxxxxxxxx> > Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx> > --- > drivers/media/platform/renesas/vsp1/vsp1_video.c | 10 +--------- > 1 file changed, 1 insertion(+), 9 deletions(-) > > diff --git a/drivers/media/platform/renesas/vsp1/vsp1_video.c b/drivers/media/platform/renesas/vsp1/vsp1_video.c > index 044eb5778820..8f53abc71db2 100644 > --- a/drivers/media/platform/renesas/vsp1/vsp1_video.c > +++ b/drivers/media/platform/renesas/vsp1/vsp1_video.c > @@ -1129,19 +1129,11 @@ static int vsp1_video_open(struct file *file) > static int vsp1_video_release(struct file *file) > { > struct vsp1_video *video = video_drvdata(file); > - struct v4l2_fh *vfh = file->private_data; > > - mutex_lock(&video->lock); > - if (video->queue.owner == vfh) { > - vb2_queue_release(&video->queue); > - video->queue.owner = NULL; > - } > - mutex_unlock(&video->lock); > + vb2_fop_release(file); > > vsp1_device_put(video->vsp1); > > - v4l2_fh_release(file); > - > file->private_data = NULL; > > return 0; > -- > Regards, > > Laurent Pinchart >