usb_bus_list_lock protects the usb_bus_list, and we don't touch that list
in usb_disconnect(), so there's no reason to hold the lock here.

Signed-off-by: Bjorn Helgaas <bhelg...@google.com>
---
 drivers/usb/core/hcd.c |    4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c
index 014dc99..918e29e 100644
--- a/drivers/usb/core/hcd.c
+++ b/drivers/usb/core/hcd.c
@@ -2621,9 +2621,7 @@ error_create_attr_group:
 #ifdef CONFIG_PM_RUNTIME
        cancel_work_sync(&hcd->wakeup_work);
 #endif
-       mutex_lock(&usb_bus_list_lock);
        usb_disconnect(&rhdev);         /* Sets rhdev to NULL */
-       mutex_unlock(&usb_bus_list_lock);
 err_register_root_hub:
        hcd->rh_pollable = 0;
        clear_bit(HCD_FLAG_POLL_RH, &hcd->flags);
@@ -2677,9 +2675,7 @@ void usb_remove_hcd(struct usb_hcd *hcd)
        cancel_work_sync(&hcd->wakeup_work);
 #endif
 
-       mutex_lock(&usb_bus_list_lock);
        usb_disconnect(&rhdev);         /* Sets rhdev to NULL */
-       mutex_unlock(&usb_bus_list_lock);
 
        /* Prevent any more root-hub status calls from the timer.
         * The HCD might still restart the timer (if a port status change

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to