The Dino-Lite cameras are equipped with LED lights that can be switched on and off by setting a proprietary control. For this control, the camera reports a length of 1 byte, but actually the value set by the original Windows driver is 3 byte long. This makes it impossible to toggle the camera lights from uvcvideo, as the length from GET_LEN is trusted as being the right one. This patch makes GET_LEN indicate a length of 3 instead of 1 for this specific device and control cs/unit. This patch is a follow-up of a previous patch [1] sent in June, that went unnoticed but addresses the same issue. It uses a table of local fixups instead of a module quirk. If you prefer this approach, please tell me, so I can rework it a bit and submit it in place of this one. [1] https://patchwork.kernel.org/patch/9764937/ Alexandre Macabies (1): media: uvcvideo: Add quirk to support light switch on Dino-Lite cameras drivers/media/usb/uvc/uvc_driver.c | 9 +++++++++ drivers/media/usb/uvc/uvc_video.c | 10 ++++++++++ drivers/media/usb/uvc/uvcvideo.h | 1 + 3 files changed, 20 insertions(+) -- 2.15.1