diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-06-26 09:18:03 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-07-27 16:53:38 -0400 |
commit | 7a286cc1889f14c5c8dbf866718edde100527d8c (patch) | |
tree | ab89587a98d1dbb062b248bad30c881003f94202 | |
parent | 9190d191b1b814dfb488125b54cf0de6eedd9220 (diff) |
[media] return -ENOTTY for unsupported ioctl's at legacy drivers
Those drivers are not relying at the V4L2 core to handle the ioctl's.
So, we need to manually patch them every time a change goes to the
core.
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>
Acked-By: Mike Isely <isely@pobox.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/et61x251/et61x251_core.c | 10 | ||||
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 7 | ||||
-rw-r--r-- | drivers/media/video/sn9c102/sn9c102_core.c | 10 | ||||
-rw-r--r-- | drivers/media/video/uvc/uvc_v4l2.c | 2 |
4 files changed, 4 insertions, 25 deletions
diff --git a/drivers/media/video/et61x251/et61x251_core.c b/drivers/media/video/et61x251/et61x251_core.c index d7efb332d4e3..9a1e80a1e145 100644 --- a/drivers/media/video/et61x251/et61x251_core.c +++ b/drivers/media/video/et61x251/et61x251_core.c | |||
@@ -2480,16 +2480,8 @@ static long et61x251_ioctl_v4l2(struct file *filp, | |||
2480 | case VIDIOC_S_PARM: | 2480 | case VIDIOC_S_PARM: |
2481 | return et61x251_vidioc_s_parm(cam, arg); | 2481 | return et61x251_vidioc_s_parm(cam, arg); |
2482 | 2482 | ||
2483 | case VIDIOC_G_STD: | ||
2484 | case VIDIOC_S_STD: | ||
2485 | case VIDIOC_QUERYSTD: | ||
2486 | case VIDIOC_ENUMSTD: | ||
2487 | case VIDIOC_QUERYMENU: | ||
2488 | case VIDIOC_ENUM_FRAMEINTERVALS: | ||
2489 | return -EINVAL; | ||
2490 | |||
2491 | default: | 2483 | default: |
2492 | return -EINVAL; | 2484 | return -ENOTTY; |
2493 | 2485 | ||
2494 | } | 2486 | } |
2495 | } | 2487 | } |
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c index 573749ab96f5..e27f8ab76966 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c | |||
@@ -369,11 +369,6 @@ static long pvr2_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
369 | break; | 369 | break; |
370 | } | 370 | } |
371 | 371 | ||
372 | case VIDIOC_S_AUDIO: | ||
373 | { | ||
374 | ret = -EINVAL; | ||
375 | break; | ||
376 | } | ||
377 | case VIDIOC_G_TUNER: | 372 | case VIDIOC_G_TUNER: |
378 | { | 373 | { |
379 | struct v4l2_tuner *vt = (struct v4l2_tuner *)arg; | 374 | struct v4l2_tuner *vt = (struct v4l2_tuner *)arg; |
@@ -850,7 +845,7 @@ static long pvr2_v4l2_do_ioctl(struct file *file, unsigned int cmd, void *arg) | |||
850 | #endif | 845 | #endif |
851 | 846 | ||
852 | default : | 847 | default : |
853 | ret = -EINVAL; | 848 | ret = -ENOTTY; |
854 | break; | 849 | break; |
855 | } | 850 | } |
856 | 851 | ||
diff --git a/drivers/media/video/sn9c102/sn9c102_core.c b/drivers/media/video/sn9c102/sn9c102_core.c index d8eece8bba24..16cb07c5c27b 100644 --- a/drivers/media/video/sn9c102/sn9c102_core.c +++ b/drivers/media/video/sn9c102/sn9c102_core.c | |||
@@ -3187,16 +3187,8 @@ static long sn9c102_ioctl_v4l2(struct file *filp, | |||
3187 | case VIDIOC_S_AUDIO: | 3187 | case VIDIOC_S_AUDIO: |
3188 | return sn9c102_vidioc_s_audio(cam, arg); | 3188 | return sn9c102_vidioc_s_audio(cam, arg); |
3189 | 3189 | ||
3190 | case VIDIOC_G_STD: | ||
3191 | case VIDIOC_S_STD: | ||
3192 | case VIDIOC_QUERYSTD: | ||
3193 | case VIDIOC_ENUMSTD: | ||
3194 | case VIDIOC_QUERYMENU: | ||
3195 | case VIDIOC_ENUM_FRAMEINTERVALS: | ||
3196 | return -EINVAL; | ||
3197 | |||
3198 | default: | 3190 | default: |
3199 | return -EINVAL; | 3191 | return -ENOTTY; |
3200 | 3192 | ||
3201 | } | 3193 | } |
3202 | } | 3194 | } |
diff --git a/drivers/media/video/uvc/uvc_v4l2.c b/drivers/media/video/uvc/uvc_v4l2.c index cdd967b0a2e9..7afb97b2d7b2 100644 --- a/drivers/media/video/uvc/uvc_v4l2.c +++ b/drivers/media/video/uvc/uvc_v4l2.c | |||
@@ -83,7 +83,7 @@ static int uvc_ioctl_ctrl_map(struct uvc_video_chain *chain, | |||
83 | default: | 83 | default: |
84 | uvc_trace(UVC_TRACE_CONTROL, "Unsupported V4L2 control type " | 84 | uvc_trace(UVC_TRACE_CONTROL, "Unsupported V4L2 control type " |
85 | "%u.\n", xmap->v4l2_type); | 85 | "%u.\n", xmap->v4l2_type); |
86 | ret = -EINVAL; | 86 | ret = -ENOTTY; |
87 | goto done; | 87 | goto done; |
88 | } | 88 | } |
89 | 89 | ||