OSDN Git Service

[media] em28xx: use v4l2_disable_ioctl() to disable ioctl VIDIOC_S_PARM
authorFrank Schaefer <fschaefer.oss@googlemail.com>
Thu, 7 Feb 2013 16:39:12 +0000 (13:39 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 4 Mar 2013 16:39:47 +0000 (13:39 -0300)
Instead of checking the device type and returning -ENOTTY inside the ioctl
function, use v4l2_disable_ioctl() to disable the ioctl VIDIOC_S_PARM if the
device is not a camera.

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/usb/em28xx/em28xx-video.c

index 346c92a..2f7c5ab 100644 (file)
@@ -1044,9 +1044,6 @@ static int vidioc_s_parm(struct file *file, void *priv,
        struct em28xx_fh   *fh  = priv;
        struct em28xx      *dev = fh->dev;
 
-       if (!dev->board.is_webcam)
-               return -ENOTTY;
-
        if (p->type != V4L2_BUF_TYPE_VIDEO_CAPTURE)
                return -EINVAL;
 
@@ -1891,6 +1888,8 @@ int em28xx_register_analog_devices(struct em28xx *dev)
                v4l2_disable_ioctl(dev->vdev, VIDIOC_QUERYSTD);
                v4l2_disable_ioctl(dev->vdev, VIDIOC_G_STD);
                v4l2_disable_ioctl(dev->vdev, VIDIOC_S_STD);
+       } else {
+               v4l2_disable_ioctl(dev->vdev, VIDIOC_S_PARM);
        }
        if (dev->tuner_type == TUNER_ABSENT) {
                v4l2_disable_ioctl(dev->vdev, VIDIOC_G_TUNER);