Hi Ricardo, Thank you for the patch. I think you meant uvc_endpoint_max_bpi() in the subject line. On Fri, Apr 01, 2022 at 07:24:36PM +0200, Ricardo Ribalda wrote: > The case USB_SPEED_WIRELESS and the default one were doing the same. > > Also, make always use of usb_endpoint_maxp_mult, as it should have a > sane value, even for LOW speed and WIRELESS. I always fear regressions with this kind of patch, but I have no reason to think there's a specific issue, so Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Signed-off-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > --- > drivers/media/usb/uvc/uvc_video.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/drivers/media/usb/uvc/uvc_video.c b/drivers/media/usb/uvc/uvc_video.c > index 1b4cc934109e..a2dcfeaaac1b 100644 > --- a/drivers/media/usb/uvc/uvc_video.c > +++ b/drivers/media/usb/uvc/uvc_video.c > @@ -1760,21 +1760,14 @@ static unsigned int uvc_endpoint_max_bpi(struct usb_device *dev, > struct usb_host_endpoint *ep) > { > u16 psize; > - u16 mult; > > switch (dev->speed) { > case USB_SPEED_SUPER: > case USB_SPEED_SUPER_PLUS: > return le16_to_cpu(ep->ss_ep_comp.wBytesPerInterval); > - case USB_SPEED_HIGH: > - psize = usb_endpoint_maxp(&ep->desc); > - mult = usb_endpoint_maxp_mult(&ep->desc); > - return psize * mult; > - case USB_SPEED_WIRELESS: > - psize = usb_endpoint_maxp(&ep->desc); > - return psize; > default: > psize = usb_endpoint_maxp(&ep->desc); > + psize *= usb_endpoint_maxp_mult(&ep->desc); > return psize; > } > } -- Regards, Laurent Pinchart