Merge tag 'nios2-v4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/lftan/nios2
[cascardo/linux.git] / drivers / usb / core / hub.c
index 38cc4ba..bee1351 100644 (file)
@@ -104,6 +104,8 @@ static int usb_reset_and_verify_device(struct usb_device *udev);
 
 static inline char *portspeed(struct usb_hub *hub, int portstatus)
 {
+       if (hub_is_superspeedplus(hub->hdev))
+               return "10.0 Gb/s";
        if (hub_is_superspeed(hub->hdev))
                return "5.0 Gb/s";
        if (portstatus & USB_PORT_STAT_HIGH_SPEED)
@@ -2080,7 +2082,7 @@ static void choose_devnum(struct usb_device *udev)
        struct usb_bus  *bus = udev->bus;
 
        /* be safe when more hub events are proceed in parallel */
-       mutex_lock(&bus->usb_address0_mutex);
+       mutex_lock(&bus->devnum_next_mutex);
        if (udev->wusb) {
                devnum = udev->portnum + 1;
                BUG_ON(test_bit(devnum, bus->devmap.devicemap));
@@ -2098,7 +2100,7 @@ static void choose_devnum(struct usb_device *udev)
                set_bit(devnum, bus->devmap.devicemap);
                udev->devnum = devnum;
        }
-       mutex_unlock(&bus->usb_address0_mutex);
+       mutex_unlock(&bus->devnum_next_mutex);
 }
 
 static void release_devnum(struct usb_device *udev)
@@ -4364,7 +4366,7 @@ hub_port_init(struct usb_hub *hub, struct usb_device *udev, int port1,
        if (oldspeed == USB_SPEED_LOW)
                delay = HUB_LONG_RESET_TIME;
 
-       mutex_lock(&hdev->bus->usb_address0_mutex);
+       mutex_lock(hcd->address0_mutex);
 
        /* Reset the device; full speed may morph to high speed */
        /* FIXME a USB 2.0 device may morph into SuperSpeed on reset. */
@@ -4650,7 +4652,7 @@ fail:
                hub_port_disable(hub, port1, 0);
                update_devnum(udev, devnum);    /* for disconnect processing */
        }
-       mutex_unlock(&hdev->bus->usb_address0_mutex);
+       mutex_unlock(hcd->address0_mutex);
        return retval;
 }