diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-10-09 23:43:40 +0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-10-21 07:16:58 +0400 |
commit | 7242063018c06977dc6825026b3075076e6f227b (patch) | |
tree | 3d1a33e60443774cf5199c6bc6ee4b76f4d57ac3 /drivers/media/video/v4l2-dev.c | |
parent | be737a826949760b75c3b46fc86686274965fca1 (diff) | |
download | linux-7242063018c06977dc6825026b3075076e6f227b.tar.xz |
V4L/DVB: Fix a merge conflict that affects unlock_ioctl
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/v4l2-dev.c')
-rw-r--r-- | drivers/media/video/v4l2-dev.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c index a7702e3d149c..0ca7978654b5 100644 --- a/drivers/media/video/v4l2-dev.c +++ b/drivers/media/video/v4l2-dev.c @@ -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) { 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->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) mutex_unlock(vdev->lock); } else if (vdev->fops->ioctl) { /* TODO: convert all drivers to unlocked_ioctl */ lock_kernel(); - ret = vdev->fops->ioctl(filp, cmd, arg); + if (video_is_registered(vdev)) + ret = vdev->fops->ioctl(filp, cmd, arg); unlock_kernel(); } else ret = -ENOTTY; |