media: v4l2-core: push taking ioctl mutex down to ioctl handler
The ioctl serialization mutex (vdev->lock or q->lock for vb2 queues) was taken at the highest level in v4l2-dev.c. This prevents more fine-grained locking since at that level we cannot examine the ioctl arguments, we can only do that after video_usercopy is called. So push the locking down to __video_do_ioctl() and subdev_do_ioctl_lock(). This also allows us to make a few functions in v4l2-ioctl.c static and video_usercopy() is no longer exported. The locking scheme is not changed by this patch, just pushed down. Signed-off-by: Hans Verkuil <hansverk@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
This commit is contained in:
committed by
Mauro Carvalho Chehab
parent
eba09b5b3d
commit
73a110623e
@@ -435,15 +435,6 @@ void video_device_release(struct video_device *vdev);
|
||||
*/
|
||||
void video_device_release_empty(struct video_device *vdev);
|
||||
|
||||
/**
|
||||
* v4l2_is_known_ioctl - Checks if a given cmd is a known V4L ioctl
|
||||
*
|
||||
* @cmd: ioctl command
|
||||
*
|
||||
* returns true if cmd is a known V4L2 ioctl
|
||||
*/
|
||||
bool v4l2_is_known_ioctl(unsigned int cmd);
|
||||
|
||||
/**
|
||||
* v4l2_disable_ioctl- mark that a given command isn't implemented.
|
||||
* shouldn't use core locking
|
||||
|
||||
Reference in New Issue
Block a user