linux/drivers/media/usb/uvc
Ricardo Ribalda 758dbc756a media: uvcvideo: Use heuristic to find stream entity
Some devices, like the Grandstream GUV3100 webcam, have an invalid UVC
descriptor where multiple entities share the same ID, this is invalid
and makes it impossible to make a proper entity tree without heuristics.

We have recently introduced a change in the way that we handle invalid
entities that has caused a regression on broken devices.

Implement a new heuristic to handle these devices properly.

Reported-by: Angel4005 <ooara1337@gmail.com>
Closes: https://lore.kernel.org/linux-media/CAOzBiVuS7ygUjjhCbyWg-KiNx+HFTYnqH5+GJhd6cYsNLT=DaA@mail.gmail.com/
Fixes: 0e2ee70291 ("media: uvcvideo: Mark invalid entities with id UVC_INVALID_ENTITY_ID")
Cc: stable@vger.kernel.org
Signed-off-by: Ricardo Ribalda <ribalda@chromium.org>
Reviewed-by: Hans de Goede <hansg@kernel.org>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
2025-10-24 11:16:26 +02:00
..
Kconfig
Makefile
uvc_ctrl.c media: uvcvideo: Support UVC_CROSXU_CONTROL_IQ_PROFILE 2025-09-13 18:35:02 +02:00
uvc_debugfs.c [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
uvc_driver.c media: uvcvideo: Use heuristic to find stream entity 2025-10-24 11:16:26 +02:00
uvc_entity.c media: uvcvideo: Use intf instead of udev for printks 2025-09-13 18:35:00 +02:00
uvc_isight.c
uvc_metadata.c media: uvcvideo: Move video_device under video_queue 2025-09-13 18:35:00 +02:00
uvc_queue.c media: uvcvideo: Remove stream->is_streaming field 2025-07-11 19:27:28 +02:00
uvc_status.c media: uvcvideo: Use intf instead of udev for printks 2025-09-13 18:35:00 +02:00
uvc_v4l2.c media: uvcvideo: Move video_device under video_queue 2025-09-13 18:35:00 +02:00
uvc_video.c USB/Thunderbolt changes for 6.18-rc1 2025-10-04 16:07:08 -07:00
uvcvideo.h USB/Thunderbolt changes for 6.18-rc1 2025-10-04 16:07:08 -07:00