Hi Felipe, Thanks for the patch. On Wednesday 28 Sep 2016 16:05:23 Felipe Balbi wrote: > We have introduced a helper to calculate multiplier > value from wMaxPacketSize. Start using it. > > Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Cc: Mauro Carvalho Chehab <mchehab@xxxxxxxxxx> > Cc: <linux-media@xxxxxxxxxxxxxxx> > Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxxxxxxxx> > --- > drivers/media/usb/uvc/uvc_video.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/usb/uvc/uvc_video.c > b/drivers/media/usb/uvc/uvc_video.c index b5589d5f5da4..11e0e5f4e1c2 100644 > --- a/drivers/media/usb/uvc/uvc_video.c > +++ b/drivers/media/usb/uvc/uvc_video.c > @@ -1467,6 +1467,7 @@ 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: > @@ -1474,7 +1475,8 @@ static unsigned int uvc_endpoint_max_bpi(struct > usb_device *dev, return le16_to_cpu(ep->ss_ep_comp.wBytesPerInterval); > case USB_SPEED_HIGH: > psize = usb_endpoint_maxp(&ep->desc); > - return (psize & 0x07ff) * (1 + ((psize >> 11) & 3)); > + mult = usb_endpoint_maxp_mult(&ep->desc); > + return (psize & 0x07ff) * mult; I believe you can remove the & 0x07ff here after patch 28/45. This being said, wouldn't it be useful to introduce a helper function that performs the full computation instead of requiring usage of two helpers that both call __le16_to_cpu() on the same field ? Or possibly turn the whole uvc_endpoint_max_bpi() function into a core helper ? I haven't checked whether it can be useful to other drivers though. > case USB_SPEED_WIRELESS: > psize = usb_endpoint_maxp(&ep->desc); > return psize; -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html