Re: [PATCH 1/3] Revert "media: uvcvideo: Set unique vdev name based in type"

From: Laurent Pinchart
Date: Mon Dec 06 2021 - 19:18:43 EST


On Tue, Dec 07, 2021 at 02:14:01AM +0200, Laurent Pinchart wrote:
> Hi Ricardo,
>
> Thank you for the patch.
>
> On Tue, Dec 07, 2021 at 01:06:27AM +0100, Ricardo Ribalda wrote:
> > A lot of userspace depends on a descriptive name for vdev. Without this
> > patch, users have a hard time figuring out which camera shall they use
> > for their video conferencing.
> >
> > This reverts commit e3f60e7e1a2b451f538f9926763432249bcf39c4.
> >
> > Cc: <stable@xxxxxxxxxxxxxxx>
> > Fixes: e3f60e7e1a2b ("media: uvcvideo: Set unique vdev name based in type")
> > Reported-by: Nicolas Dufresne <nicolas@xxxxxxxxxxxx>
> > Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx>
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

Mauro, is it possible to queue this as a fix for v5.16 ?

> > ---
> > drivers/media/usb/uvc/uvc_driver.c | 7 +------
> > 1 file changed, 1 insertion(+), 6 deletions(-)
> >
> > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
> > index 7c007426e082..058d28a0344b 100644
> > --- a/drivers/media/usb/uvc/uvc_driver.c
> > +++ b/drivers/media/usb/uvc/uvc_driver.c
> > @@ -2193,7 +2193,6 @@ int uvc_register_video_device(struct uvc_device *dev,
> > const struct v4l2_file_operations *fops,
> > const struct v4l2_ioctl_ops *ioctl_ops)
> > {
> > - const char *name;
> > int ret;
> >
> > /* Initialize the video buffers queue. */
> > @@ -2222,20 +2221,16 @@ int uvc_register_video_device(struct uvc_device *dev,
> > case V4L2_BUF_TYPE_VIDEO_CAPTURE:
> > default:
> > vdev->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;
> > - name = "Video Capture";
> > break;
> > case V4L2_BUF_TYPE_VIDEO_OUTPUT:
> > vdev->device_caps = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_STREAMING;
> > - name = "Video Output";
> > break;
> > case V4L2_BUF_TYPE_META_CAPTURE:
> > vdev->device_caps = V4L2_CAP_META_CAPTURE | V4L2_CAP_STREAMING;
> > - name = "Metadata";
> > break;
> > }
> >
> > - snprintf(vdev->name, sizeof(vdev->name), "%s %u", name,
> > - stream->header.bTerminalLink);
> > + strscpy(vdev->name, dev->name, sizeof(vdev->name));
> >
> > /*
> > * Set the driver data before calling video_register_device, otherwise

--
Regards,

Laurent Pinchart