diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2012-08-28 23:38:58 +0200 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-11-28 13:27:18 +0100 |
commit | 30ecb936cbcd83e3735625ac63e1b4466546f5fe (patch) | |
tree | 3dcfcf158a7e0e25a8637367323642a37db5ef38 /drivers/media | |
parent | [media] uvcvideo: Set error_idx properly for extended controls API failures (diff) | |
download | linux-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')
-rw-r--r-- | drivers/media/usb/uvc/uvc_ctrl.c | 4 |
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) { |