On Mon, 7 Mar 2011, Sarah Sharp wrote: > Make the USB 3.0 roothub registered by the USB core have a SuperSpeed > Endpoint Companion Descriptor after the interrupt endpoint. All USB 3.0 > devices are required to have this, and the USB 3.0 bus specification > (section 10.13.1) says which values the descriptor should have. > > Signed-off-by: Sarah Sharp <sarah.a.sharp@xxxxxxxxxxxxxxx> > --- > drivers/usb/core/hcd.c | 15 +++++++++------ > 1 files changed, 9 insertions(+), 6 deletions(-) > > diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c > index 5a1b640..dc9394b 100644 > --- a/drivers/usb/core/hcd.c > +++ b/drivers/usb/core/hcd.c > @@ -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) */ This is a small matter, but why did you change the spacing here? You added an extra column before the start of the comment. > + > + /* 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 */ > }; > > /*-------------------------------------------------------------------------*/ Alan Stern -- 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