linux-stable/drivers/media/usb/uvc
Ricardo Ribalda 7faf8ae427 media: uvcvideo: Fix handling on Bitmask controls
Minimum and step values for V4L2_CTRL_TYPE_BITMASK controls should be 0.
There is no need to query the camera firmware about this and maybe get
invalid results.

Also value should be masked to the max value advertised by the
hardware.

Finally, handle UVC 1.5 mask controls that use MAX instead of RES to
describe the valid bits.

Fixes v4l2-compliane:
Control ioctls (Input 0):
                fail: v4l2-test-controls.cpp(97): minimum must be 0 for a bitmask control
	test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: FAIL

Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
2023-01-15 23:45:12 +02:00
..
Kconfig media: Kconfig: cleanup VIDEO_DEV dependencies 2022-03-18 05:58:35 +01:00
Makefile
uvc_ctrl.c media: uvcvideo: Fix handling on Bitmask controls 2023-01-15 23:45:12 +02:00
uvc_debugfs.c media: usb: uvc: no need to check return value of debugfs_create functions 2020-09-26 10:15:17 +02:00
uvc_driver.c media: uvcvideo: Factor out usb_string() calls 2023-01-15 23:45:11 +02:00
uvc_entity.c media: uvcvideo: Handle cameras with invalid descriptors 2023-01-15 23:45:08 +02:00
uvc_isight.c media: uvcvideo: Fix comment blocks style 2022-07-16 08:48:42 +01:00
uvc_metadata.c media: uvcvideo: Use dev->name for querycap() 2021-09-30 10:07:47 +02:00
uvc_queue.c media: uvcvideo: Fix comment blocks style 2022-07-16 08:48:42 +01:00
uvc_status.c media: uvcvideo: Remove void casting for the status endpoint 2023-01-15 23:45:10 +02:00
uvc_v4l2.c media: uvcvideo: Check for INACTIVE in uvc_ctrl_is_accessible() 2023-01-15 23:45:11 +02:00
uvc_video.c media: uvcvideo: Do not return positive errors in uvc_query_ctrl() 2023-01-15 23:45:12 +02:00
uvcvideo.h media: uvcvideo: Check for INACTIVE in uvc_ctrl_is_accessible() 2023-01-15 23:45:11 +02:00