V4L/DVB: v4l2: add core serialization lock
Drivers can optionally set a pointer to a mutex in struct video_device. The core will use that to lock before calling open, read, write, unlocked_ioctl, poll, mmap or release. Updated the documentation as well and ensure that v4l2-event knows about the lock: it will unlock it before doing a blocking wait on an event and relock it afterwards. Ensure that the 'video_is_registered' check is done when the lock is held: a typical disconnect will take the lock as well before unregistering the device nodes, so to prevent race conditions the video_is_registered check should also be done with the lock held. Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
c29fcff3da
commit
ee6869afc9
@ -94,6 +94,9 @@ struct video_device
|
||||
|
||||
/* ioctl callbacks */
|
||||
const struct v4l2_ioctl_ops *ioctl_ops;
|
||||
|
||||
/* serialization lock */
|
||||
struct mutex *lock;
|
||||
};
|
||||
|
||||
/* dev to video-device */
|
||||
|
Reference in New Issue
Block a user