On 11/03/2021 23:19, Ricardo Ribalda wrote: > The device is doing something unspected with the control. Either because > the protocol is not properly implemented or there has been a HW error. > > Fixes v4l2-compliance: > > Control ioctls (Input 0): > fail: v4l2-test-controls.cpp(448): s_ctrl returned an error > (22) > test VIDIOC_G/S_CTRL: FAIL > fail: v4l2-test-controls.cpp(698): s_ext_ctrls returned an > error (22) > test VIDIOC_G/S/TRY_EXT_CTRLS: FAIL > > Signed-off-by: Ricardo Ribalda <riba...@chromium.org>
Reviewed-by: Hans Verkuil <hverkuil-ci...@xs4all.nl> Thanks! Hans > --- > drivers/media/usb/uvc/uvc_video.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/media/usb/uvc/uvc_video.c > b/drivers/media/usb/uvc/uvc_video.c > index f2f565281e63..25fd8aa23529 100644 > --- a/drivers/media/usb/uvc/uvc_video.c > +++ b/drivers/media/usb/uvc/uvc_video.c > @@ -112,6 +112,11 @@ int uvc_query_ctrl(struct uvc_device *dev, u8 query, u8 > unit, > case 5: /* Invalid unit */ > case 6: /* Invalid control */ > case 7: /* Invalid Request */ > + /* > + * The firmware has not properly implemented > + * the control or there has been a HW error. > + */ > + return -EIO; > case 8: /* Invalid value within range */ > return -EINVAL; > default: /* reserved or unknown */ >