Commit 44cdba41 authored by Ricardo Ribalda's avatar Ricardo Ribalda Committed by Laurent Pinchart

media: uvcvideo: Return -EACCES for Wrong state error

Error 2 is defined by UVC as:

  Wrong State: The device is in a state that disallows the specific
  request. The device will remain in this state until a specific action
  from the host or the user is completed.

This is documented as happening when attempting to set the value of a
manual control when the device is in auto mode. While V4L2 allows this,
the closest error code defined by VIDIOC_S_CTRL is EACCES:

  EACCES: Attempt to set a read-only control or to get a write-only
  control. Or if there is an attempt to set an inactive control and the
  driver is not capable of caching the new value until the control is
  active again.

Replace EILSEQ with EACCES.
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Suggested-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarRicardo Ribalda <ribalda@chromium.org>
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
parent 67a655be
......@@ -108,7 +108,7 @@ int uvc_query_ctrl(struct uvc_device *dev, u8 query, u8 unit,
case 1: /* Not ready */
return -EBUSY;
case 2: /* Wrong state */
return -EILSEQ;
return -EACCES;
case 3: /* Power */
return -EREMOTE;
case 4: /* Out of range */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment