|
@@ -997,6 +997,15 @@ static int register_root_hub(struct usb_hcd *hcd)
|
|
|
dev_name(&usb_dev->dev), retval);
|
|
|
return (retval < 0) ? retval : -EMSGSIZE;
|
|
|
}
|
|
|
+ if (usb_dev->speed == USB_SPEED_SUPER) {
|
|
|
+ retval = usb_get_bos_descriptor(usb_dev);
|
|
|
+ if (retval < 0) {
|
|
|
+ mutex_unlock(&usb_bus_list_lock);
|
|
|
+ dev_dbg(parent_dev, "can't read %s bos descriptor %d\n",
|
|
|
+ dev_name(&usb_dev->dev), retval);
|
|
|
+ return retval;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
retval = usb_new_device (usb_dev);
|
|
|
if (retval) {
|