|
@@ -433,6 +433,14 @@ int usb_submit_urb(struct urb *urb, gfp_t mem_flags)
|
|
|
max *= mult;
|
|
|
}
|
|
|
|
|
|
+ if (dev->speed == USB_SPEED_SUPER_PLUS &&
|
|
|
+ USB_SS_SSP_ISOC_COMP(ep->ss_ep_comp.bmAttributes)) {
|
|
|
+ struct usb_ssp_isoc_ep_comp_descriptor *isoc_ep_comp;
|
|
|
+
|
|
|
+ isoc_ep_comp = &ep->ssp_isoc_ep_comp;
|
|
|
+ max = le32_to_cpu(isoc_ep_comp->dwBytesPerInterval);
|
|
|
+ }
|
|
|
+
|
|
|
/* "high bandwidth" mode, 1-3 packets/uframe? */
|
|
|
if (dev->speed == USB_SPEED_HIGH)
|
|
|
max *= usb_endpoint_maxp_mult(&ep->desc);
|