[media] uvcvideo: Return -EACCES when trying to access a read/write-only control
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Tue, 28 Aug 2012 21:38:58 +0000 (18:38 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 28 Nov 2012 12:27:18 +0000 (10:27 -0200)
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>
drivers/media/usb/uvc/uvc_ctrl.c

index 7879d306f1fc8cbbb23b0de6fc936e84e6a2863b..3e0b66efc9ba40371f9eb144ebef6ca2429b4ae6 100644 (file)
@@ -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) {