|
@@ -297,7 +297,7 @@ static const u8 ss_rh_config_descriptor[] = {
|
|
|
/* one configuration */
|
|
|
0x09, /* __u8 bLength; */
|
|
|
0x02, /* __u8 bDescriptorType; Configuration */
|
|
|
- 0x19, 0x00, /* __le16 wTotalLength; FIXME */
|
|
|
+ 0x1f, 0x00, /* __le16 wTotalLength; */
|
|
|
0x01, /* __u8 bNumInterfaces; (1) */
|
|
|
0x01, /* __u8 bConfigurationValue; */
|
|
|
0x00, /* __u8 iConfiguration; */
|
|
@@ -327,11 +327,14 @@ static const u8 ss_rh_config_descriptor[] = {
|
|
|
/* __le16 ep_wMaxPacketSize; 1 + (MAX_ROOT_PORTS / 8)
|
|
|
* see hub.c:hub_configure() for details. */
|
|
|
(USB_MAXCHILDREN + 1 + 7) / 8, 0x00,
|
|
|
- 0x0c /* __u8 ep_bInterval; (256ms -- usb 2.0 spec) */
|
|
|
- /*
|
|
|
- * All 3.0 hubs should have an endpoint companion descriptor,
|
|
|
- * but we're ignoring that for now. FIXME?
|
|
|
- */
|
|
|
+ 0x0c, /* __u8 ep_bInterval; (256ms -- usb 2.0 spec) */
|
|
|
+
|
|
|
+ /* one SuperSpeed endpoint companion descriptor */
|
|
|
+ 0x06, /* __u8 ss_bLength */
|
|
|
+ 0x30, /* __u8 ss_bDescriptorType; SuperSpeed EP Companion */
|
|
|
+ 0x00, /* __u8 ss_bMaxBurst; allows 1 TX between ACKs */
|
|
|
+ 0x00, /* __u8 ss_bmAttributes; 1 packet per service interval */
|
|
|
+ 0x02, 0x00 /* __le16 ss_wBytesPerInterval; 15 bits for max 15 ports */
|
|
|
};
|
|
|
|
|
|
/*-------------------------------------------------------------------------*/
|