summaryrefslogtreecommitdiffstats
path: root/drivers/media/usb/uvc/uvc_ctrl.c
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2012-08-28 23:38:58 +0200
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-11-28 13:27:18 +0100
commit30ecb936cbcd83e3735625ac63e1b4466546f5fe (patch)
tree3dcfcf158a7e0e25a8637367323642a37db5ef38 /drivers/media/usb/uvc/uvc_ctrl.c
parent[media] uvcvideo: Set error_idx properly for extended controls API failures (diff)
downloadlinux-30ecb936cbcd83e3735625ac63e1b4466546f5fe.tar.xz
linux-30ecb936cbcd83e3735625ac63e1b4466546f5fe.zip
[media] uvcvideo: Return -EACCES when trying to access a read/write-only control
The proper return code according to the V4L2 specification is -EACCES, not -EINVAL. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/usb/uvc/uvc_ctrl.c')
-rw-r--r--drivers/media/usb/uvc/uvc_ctrl.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/usb/uvc/uvc_ctrl.c b/drivers/media/usb/uvc/uvc_ctrl.c
index 7879d306f1fc..3e0b66efc9ba 100644
--- a/drivers/media/usb/uvc/uvc_ctrl.c
+++ b/drivers/media/usb/uvc/uvc_ctrl.c
@@ -927,7 +927,7 @@ static int __uvc_ctrl_get(struct uvc_video_chain *chain,
int ret;
if ((ctrl->info.flags & UVC_CTRL_FLAG_GET_CUR) == 0)
- return -EINVAL;
+ return -EACCES;
if (!ctrl->loaded) {
ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, ctrl->entity->id,
@@ -1435,7 +1435,7 @@ int uvc_ctrl_set(struct uvc_video_chain *chain,
if (ctrl == NULL)
return -ENOENT;
if (!(ctrl->info.flags & UVC_CTRL_FLAG_SET_CUR))
- return -EINVAL;
+ return -EACCES;
/* Clamp out of range values. */
switch (mapping->v4l2_type) {