> The length of UVC 1.5 video control is 48, and it id 34 for UVC 1.1.
> Change it to 48 for UVC 1.5 device,
> and the UVC 1.5 device can be recognized.
> 
> More changes to the driver are needed for full UVC 1.5 compatibility.
> However, at least the UVC 1.5 Realtek RTS5847/RTS5852 cameras have
> been reported to work well.
> 
> Signed-off-by: ming_qian <ming_q...@realsil.com.cn>
> Tested-by: Kai-Heng Feng <kai.heng.f...@canonical.com>
Hello! I have sucessfully tested this patch on Kernel 4.16.1 (Fedora 28) with 
Dell XPS 9370
using following device (output from lsusb):

Bus 001 Device 002: ID 0bda:58f4 Realtek Semiconductor Corp.

You can also find related dmesg output at 
https://bugs.launchpad.net/dell-sputnik/+bug/1763748/comments/35

Tested-by: Josef Šimánek <josef.sima...@gmail.com>
> Reviewed-by: Hans de Goede <hdego...@redhat.com>
> ---
>  drivers/media/usb/uvc/uvc_video.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/media/usb/uvc/uvc_video.c 
> b/drivers/media/usb/uvc/uvc_video.c
> index aa0082f..32dfb32 100644
> --- a/drivers/media/usb/uvc/uvc_video.c
> +++ b/drivers/media/usb/uvc/uvc_video.c
> @@ -171,6 +171,8 @@ static int uvc_get_video_ctrl(struct uvc_streaming 
> *stream,
>       int ret;
>  
>       size = stream->dev->uvc_version >= 0x0110 ? 34 : 26;
> +     if (stream->dev->uvc_version >= 0x0150)
> +             size = 48;
>       if ((stream->dev->quirks & UVC_QUIRK_PROBE_DEF) &&
>                       query == UVC_GET_DEF)
>               return -EIO;
> @@ -259,6 +261,8 @@ static int uvc_set_video_ctrl(struct uvc_streaming 
> *stream,
>       int ret;
>  
>       size = stream->dev->uvc_version >= 0x0110 ? 34 : 26;
> +     if (stream->dev->uvc_version >= 0x0150)
> +             size = 48;
>       data = kzalloc(size, GFP_KERNEL);
>       if (data == NULL)
>               return -ENOMEM;

Reply via email to