[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 1cfdbdd034bce23b81cfffbc660fa020d92dafb2..fbe45b83a166d1bdaa5048c9d6ac1a5fabe6e16a 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) {