On 29.03.23 14:28, Hans Verkuil wrote: > If the fcc is 0 (indicating an unknown GUID format), then fill in the > description field in ENUM_FMT. Otherwise the V4L2 core will WARN. What happened to this? It seems this fall through the cracks. BTW: > Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx> Afaics it might be good to have these in here: Link: https://bugzilla.kernel.org/show_bug.cgi?id=217252 Link: https://bugzilla.redhat.com/show_bug.cgi?id=2180107 A comment in the former is what brought me here. Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat) -- Everything you wanna know about Linux kernel regression tracking: https://linux-regtracking.leemhuis.info/about/#tldr If I did something stupid, please tell me, as explained on that page. #regzbot ^backmonitor: https://lore.kernel.org/lkml/dc8e5276-ef88-648f-9f0d-10151ea62c90@xxxxxxxxxxxxx/ #regzbot poke > Fixes: 50459f103edf ("media: uvcvideo: Remove format descriptions") > --- > diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c > index 7aefa76a42b3..2f1ced1212cd 100644 > --- a/drivers/media/usb/uvc/uvc_driver.c > +++ b/drivers/media/usb/uvc/uvc_driver.c > @@ -256,6 +256,9 @@ static int uvc_parse_format(struct uvc_device *dev, > } else { > dev_info(&streaming->intf->dev, > "Unknown video format %pUl\n", &buffer[5]); > + snprintf(format->name, sizeof(format->name), "%pUl\n", > + &buffer[5]); > + > format->fcc = 0; > } > > diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c > index 35453f81c1d9..fc6f9e7d8506 100644 > --- a/drivers/media/usb/uvc/uvc_v4l2.c > +++ b/drivers/media/usb/uvc/uvc_v4l2.c > @@ -713,6 +713,10 @@ static int uvc_ioctl_enum_fmt(struct uvc_streaming *stream, > if (format->flags & UVC_FMT_FLAG_COMPRESSED) > fmt->flags |= V4L2_FMT_FLAG_COMPRESSED; > fmt->pixelformat = format->fcc; > + if (format->name[0]) > + strscpy(fmt->description, format->name, > + sizeof(fmt->description)); > + > return 0; > } > > diff --git a/drivers/media/usb/uvc/uvcvideo.h b/drivers/media/usb/uvc/uvcvideo.h > index 9a596c8d894a..22656755a801 100644 > --- a/drivers/media/usb/uvc/uvcvideo.h > +++ b/drivers/media/usb/uvc/uvcvideo.h > @@ -264,6 +264,8 @@ struct uvc_format { > u32 fcc; > u32 flags; > > + char name[32]; > + > unsigned int nframes; > struct uvc_frame *frame; > }; >