|
@@ -4016,8 +4016,6 @@ static int
|
|
|
hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
|
|
|
int retry_counter)
|
|
|
{
|
|
|
- static DEFINE_MUTEX(usb_address0_mutex);
|
|
|
-
|
|
|
struct usb_device *hdev = hub->hdev;
|
|
|
struct usb_hcd *hcd = bus_to_hcd(hdev->bus);
|
|
|
int i, j, retval;
|
|
@@ -4040,7 +4038,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(&usb_address0_mutex);
|
|
|
+ mutex_lock(&hdev->bus->usb_address0_mutex);
|
|
|
|
|
|
/* Reset the device; full speed may morph to high speed */
|
|
|
/* FIXME a USB 2.0 device may morph into SuperSpeed on reset. */
|
|
@@ -4317,7 +4315,7 @@ fail:
|
|
|
hub_port_disable(hub, port1, 0);
|
|
|
update_devnum(udev, devnum); /* for disconnect processing */
|
|
|
}
|
|
|
- mutex_unlock(&usb_address0_mutex);
|
|
|
+ mutex_unlock(&hdev->bus->usb_address0_mutex);
|
|
|
return retval;
|
|
|
}
|
|
|
|