|
@@ -123,10 +123,11 @@ static void usb_parse_ss_endpoint_companion(struct device *ddev, int cfgno,
|
|
}
|
|
}
|
|
|
|
|
|
if (usb_endpoint_xfer_isoc(&ep->desc))
|
|
if (usb_endpoint_xfer_isoc(&ep->desc))
|
|
- max_tx = ep->desc.wMaxPacketSize * (desc->bMaxBurst + 1) *
|
|
|
|
- (desc->bmAttributes + 1);
|
|
|
|
|
|
+ max_tx = (desc->bMaxBurst + 1) * (desc->bmAttributes + 1) *
|
|
|
|
+ le16_to_cpu(ep->desc.wMaxPacketSize);
|
|
else if (usb_endpoint_xfer_int(&ep->desc))
|
|
else if (usb_endpoint_xfer_int(&ep->desc))
|
|
- max_tx = ep->desc.wMaxPacketSize * (desc->bMaxBurst + 1);
|
|
|
|
|
|
+ max_tx = le16_to_cpu(ep->desc.wMaxPacketSize) *
|
|
|
|
+ (desc->bMaxBurst + 1);
|
|
else
|
|
else
|
|
max_tx = 999999;
|
|
max_tx = 999999;
|
|
if (le16_to_cpu(desc->wBytesPerInterval) > max_tx) {
|
|
if (le16_to_cpu(desc->wBytesPerInterval) > max_tx) {
|
|
@@ -134,10 +135,10 @@ static void usb_parse_ss_endpoint_companion(struct device *ddev, int cfgno,
|
|
"config %d interface %d altsetting %d ep %d: "
|
|
"config %d interface %d altsetting %d ep %d: "
|
|
"setting to %d\n",
|
|
"setting to %d\n",
|
|
usb_endpoint_xfer_isoc(&ep->desc) ? "Isoc" : "Int",
|
|
usb_endpoint_xfer_isoc(&ep->desc) ? "Isoc" : "Int",
|
|
- desc->wBytesPerInterval,
|
|
|
|
|
|
+ le16_to_cpu(desc->wBytesPerInterval),
|
|
cfgno, inum, asnum, ep->desc.bEndpointAddress,
|
|
cfgno, inum, asnum, ep->desc.bEndpointAddress,
|
|
max_tx);
|
|
max_tx);
|
|
- ep->ss_ep_comp.wBytesPerInterval = max_tx;
|
|
|
|
|
|
+ ep->ss_ep_comp.wBytesPerInterval = cpu_to_le16(max_tx);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|