|
@@ -201,7 +201,12 @@ ep_found:
|
|
|
_ep->desc = chosen_desc;
|
|
|
_ep->comp_desc = NULL;
|
|
|
_ep->maxburst = 0;
|
|
|
- _ep->mult = 0;
|
|
|
+ _ep->mult = 1;
|
|
|
+
|
|
|
+ if (g->speed == USB_SPEED_HIGH && (usb_endpoint_xfer_isoc(_ep->desc) ||
|
|
|
+ usb_endpoint_xfer_int(_ep->desc)))
|
|
|
+ _ep->mult = usb_endpoint_maxp_mult(_ep->desc);
|
|
|
+
|
|
|
if (!want_comp_desc)
|
|
|
return 0;
|
|
|
|
|
@@ -218,7 +223,7 @@ ep_found:
|
|
|
switch (usb_endpoint_type(_ep->desc)) {
|
|
|
case USB_ENDPOINT_XFER_ISOC:
|
|
|
/* mult: bits 1:0 of bmAttributes */
|
|
|
- _ep->mult = comp_desc->bmAttributes & 0x3;
|
|
|
+ _ep->mult = (comp_desc->bmAttributes & 0x3) + 1;
|
|
|
case USB_ENDPOINT_XFER_BULK:
|
|
|
case USB_ENDPOINT_XFER_INT:
|
|
|
_ep->maxburst = comp_desc->bMaxBurst + 1;
|