|
@@ -97,8 +97,8 @@ EXPORT_SYMBOL_GPL (usb_bus_idr);
|
|
|
#define USB_MAXBUS 64
|
|
|
|
|
|
/* used when updating list of hcds */
|
|
|
-DEFINE_MUTEX(usb_bus_list_lock); /* exported only for usbfs */
|
|
|
-EXPORT_SYMBOL_GPL (usb_bus_list_lock);
|
|
|
+DEFINE_MUTEX(usb_bus_idr_lock); /* exported only for usbfs */
|
|
|
+EXPORT_SYMBOL_GPL (usb_bus_idr_lock);
|
|
|
|
|
|
/* used for controlling access to virtual root hubs */
|
|
|
static DEFINE_SPINLOCK(hcd_root_hub_lock);
|
|
@@ -1014,14 +1014,14 @@ static int usb_register_bus(struct usb_bus *bus)
|
|
|
int result = -E2BIG;
|
|
|
int busnum;
|
|
|
|
|
|
- mutex_lock(&usb_bus_list_lock);
|
|
|
+ mutex_lock(&usb_bus_idr_lock);
|
|
|
busnum = idr_alloc(&usb_bus_idr, bus, 1, USB_MAXBUS, GFP_KERNEL);
|
|
|
if (busnum < 0) {
|
|
|
pr_err("%s: failed to get bus number\n", usbcore_name);
|
|
|
goto error_find_busnum;
|
|
|
}
|
|
|
bus->busnum = busnum;
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
|
|
|
usb_notify_add_bus(bus);
|
|
|
|
|
@@ -1030,7 +1030,7 @@ static int usb_register_bus(struct usb_bus *bus)
|
|
|
return 0;
|
|
|
|
|
|
error_find_busnum:
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
return result;
|
|
|
}
|
|
|
|
|
@@ -1051,9 +1051,9 @@ static void usb_deregister_bus (struct usb_bus *bus)
|
|
|
* controller code, as well as having it call this when cleaning
|
|
|
* itself up
|
|
|
*/
|
|
|
- mutex_lock(&usb_bus_list_lock);
|
|
|
+ mutex_lock(&usb_bus_idr_lock);
|
|
|
idr_remove(&usb_bus_idr, bus->busnum);
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
|
|
|
usb_notify_remove_bus(bus);
|
|
|
}
|
|
@@ -1083,12 +1083,12 @@ static int register_root_hub(struct usb_hcd *hcd)
|
|
|
set_bit (devnum, usb_dev->bus->devmap.devicemap);
|
|
|
usb_set_device_state(usb_dev, USB_STATE_ADDRESS);
|
|
|
|
|
|
- mutex_lock(&usb_bus_list_lock);
|
|
|
+ mutex_lock(&usb_bus_idr_lock);
|
|
|
|
|
|
usb_dev->ep0.desc.wMaxPacketSize = cpu_to_le16(64);
|
|
|
retval = usb_get_device_descriptor(usb_dev, USB_DT_DEVICE_SIZE);
|
|
|
if (retval != sizeof usb_dev->descriptor) {
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
dev_dbg (parent_dev, "can't read %s device descriptor %d\n",
|
|
|
dev_name(&usb_dev->dev), retval);
|
|
|
return (retval < 0) ? retval : -EMSGSIZE;
|
|
@@ -1099,7 +1099,7 @@ static int register_root_hub(struct usb_hcd *hcd)
|
|
|
if (!retval) {
|
|
|
usb_dev->lpm_capable = usb_device_supports_lpm(usb_dev);
|
|
|
} else if (usb_dev->speed >= USB_SPEED_SUPER) {
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
dev_dbg(parent_dev, "can't read %s bos descriptor %d\n",
|
|
|
dev_name(&usb_dev->dev), retval);
|
|
|
return retval;
|
|
@@ -1119,7 +1119,7 @@ static int register_root_hub(struct usb_hcd *hcd)
|
|
|
if (HCD_DEAD(hcd))
|
|
|
usb_hc_died (hcd); /* This time clean up */
|
|
|
}
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
|
|
|
return retval;
|
|
|
}
|
|
@@ -2885,9 +2885,9 @@ error_create_attr_group:
|
|
|
#ifdef CONFIG_PM
|
|
|
cancel_work_sync(&hcd->wakeup_work);
|
|
|
#endif
|
|
|
- mutex_lock(&usb_bus_list_lock);
|
|
|
+ mutex_lock(&usb_bus_idr_lock);
|
|
|
usb_disconnect(&rhdev); /* Sets rhdev to NULL */
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
err_register_root_hub:
|
|
|
hcd->rh_pollable = 0;
|
|
|
clear_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
|
@@ -2954,9 +2954,9 @@ void usb_remove_hcd(struct usb_hcd *hcd)
|
|
|
cancel_work_sync(&hcd->wakeup_work);
|
|
|
#endif
|
|
|
|
|
|
- mutex_lock(&usb_bus_list_lock);
|
|
|
+ mutex_lock(&usb_bus_idr_lock);
|
|
|
usb_disconnect(&rhdev); /* Sets rhdev to NULL */
|
|
|
- mutex_unlock(&usb_bus_list_lock);
|
|
|
+ mutex_unlock(&usb_bus_idr_lock);
|
|
|
|
|
|
/*
|
|
|
* tasklet_kill() isn't needed here because:
|