Commit 72420630 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB: Fix a merge conflict that affects unlock_ioctl

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent be737a82
...@@ -236,20 +236,20 @@ static unsigned int v4l2_poll(struct file *filp, struct poll_table_struct *poll) ...@@ -236,20 +236,20 @@ static unsigned int v4l2_poll(struct file *filp, struct poll_table_struct *poll)
static long v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) static long v4l2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
{ {
struct video_device *vdev = video_devdata(filp); struct video_device *vdev = video_devdata(filp);
int ret; int ret = -ENODEV;
if (!vdev->fops->ioctl)
return -ENOTTY;
if (vdev->fops->unlocked_ioctl) { if (vdev->fops->unlocked_ioctl) {
if (vdev->lock) if (vdev->lock)
mutex_lock(vdev->lock); mutex_lock(vdev->lock);
ret = vdev->fops->unlocked_ioctl(filp, cmd, arg); if (video_is_registered(vdev))
ret = vdev->fops->unlocked_ioctl(filp, cmd, arg);
if (vdev->lock) if (vdev->lock)
mutex_unlock(vdev->lock); mutex_unlock(vdev->lock);
} else if (vdev->fops->ioctl) { } else if (vdev->fops->ioctl) {
/* TODO: convert all drivers to unlocked_ioctl */ /* TODO: convert all drivers to unlocked_ioctl */
lock_kernel(); lock_kernel();
ret = vdev->fops->ioctl(filp, cmd, arg); if (video_is_registered(vdev))
ret = vdev->fops->ioctl(filp, cmd, arg);
unlock_kernel(); unlock_kernel();
} else } else
ret = -ENOTTY; ret = -ENOTTY;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment