aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2011-06-26 09:18:03 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-07-27 16:53:38 -0400
commit7a286cc1889f14c5c8dbf866718edde100527d8c (patch)
treeab89587a98d1dbb062b248bad30c881003f94202
parent9190d191b1b814dfb488125b54cf0de6eedd9220 (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.c10
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-v4l2.c7
-rw-r--r--drivers/media/video/sn9c102/sn9c102_core.c10
-rw-r--r--drivers/media/video/uvc/uvc_v4l2.c2
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 d7efb332d4e..9a1e80a1e14 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 573749ab96f..e27f8ab7696 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 d8eece8bba2..16cb07c5c27 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 cdd967b0a2e..7afb97b2d7b 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