[media] v4l2-dev: streamon/off is only a valid ioctl for video, vbi and sdr
authorHans Verkuil <hans.verkuil@cisco.com>
Thu, 10 Jul 2014 22:51:26 +0000 (19:51 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Thu, 17 Jul 2014 21:29:58 +0000 (18:29 -0300)
The VIDIOC_STREAMON/OFF ioctls are not valid for radio devices, just
like the other streaming I/O ioctls. Add the streamon/off ioctls
to the other streaming I/O ioctls.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/v4l2-core/v4l2-dev.c

index 1cfdbdd..fbe45b8 100644 (file)
@@ -567,8 +567,6 @@ static void determine_valid_ioctls(struct video_device *vdev)
                set_bit(_IOC_NR(VIDIOC_G_PRIORITY), valid_ioctls);
        if (ops->vidioc_s_priority)
                set_bit(_IOC_NR(VIDIOC_S_PRIORITY), valid_ioctls);
-       SET_VALID_IOCTL(ops, VIDIOC_STREAMON, vidioc_streamon);
-       SET_VALID_IOCTL(ops, VIDIOC_STREAMOFF, vidioc_streamoff);
        /* Note: the control handler can also be passed through the filehandle,
           and that can't be tested here. If the bit for these control ioctls
           is set, then the ioctl is valid. But if it is 0, then it can still
@@ -684,6 +682,8 @@ static void determine_valid_ioctls(struct video_device *vdev)
                SET_VALID_IOCTL(ops, VIDIOC_DQBUF, vidioc_dqbuf);
                SET_VALID_IOCTL(ops, VIDIOC_CREATE_BUFS, vidioc_create_bufs);
                SET_VALID_IOCTL(ops, VIDIOC_PREPARE_BUF, vidioc_prepare_buf);
+               SET_VALID_IOCTL(ops, VIDIOC_STREAMON, vidioc_streamon);
+               SET_VALID_IOCTL(ops, VIDIOC_STREAMOFF, vidioc_streamoff);
        }
 
        if (is_vid || is_vbi) {