Re: [PATCH v4 3/3] media: uvcvideo: Add a unique suffix to camera names

From: Laurent Pinchart
Date: Mon Dec 05 2022 - 17:16:07 EST


Hi Ricardo,

Thank you for the patch.

On Fri, Dec 02, 2022 at 06:08:19PM +0100, Ricardo Ribalda wrote:
> Some cameras have multiple data inputs (i.e. IR sensor and RGB sensor),
> append a unique number to the device name.
>
> Fixes v4l2-compliance:
> Media Controller ioctls:
> fail: v4l2-test-media.cpp(205): v2_entity_names_set.find(key) != v2_entity_names_set.end()
> test MEDIA_IOC_G_TOPOLOGY: FAIL
> fail: v4l2-test-media.cpp(394): num_data_links != num_links
> test MEDIA_IOC_ENUM_ENTITIES/LINKS: FAIL
>
> Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
> ---
> drivers/media/usb/uvc/uvc_driver.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> index 215fb483efb0..f4032ebb3689 100644
> --- a/drivers/media/usb/uvc/uvc_driver.c
> +++ b/drivers/media/usb/uvc/uvc_driver.c
> @@ -1963,7 +1963,8 @@ int uvc_register_video_device(struct uvc_device *dev,
> break;
> }
>
> - strscpy(vdev->name, dev->name, sizeof(vdev->name));
> + snprintf(vdev->name, sizeof(vdev->name), "%s %u", dev->name,
> + stream->header.bTerminalLink);

This won't be perfect as the string is not guaranteed to fit in
vdev->name, but I suppose it will help as a quick fix for some devices.
How about the other devices ? Won't they still exhibit the above
v4l2-compliance failure ? Isn't that something that will still affect
Chrome OS devices ?

The change should not cause any regression as big as in patch 1/3.
However, unless I'm mistaken users will notice a device name change,
especially when selecting a device in their web browser. Could that be a
problem ?

> /*
> * Set the driver data before calling video_register_device, otherwise
>

--
Regards,

Laurent Pinchart