USB: Don't use EHCI port sempahore for USB 3.0 hubs.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Fri, 8 Mar 2013 00:24:45 +0000 (16:24 -0800)
committerBen Hutchings <ben@decadent.org.uk>
Wed, 20 Mar 2013 15:03:37 +0000 (15:03 +0000)
commit541f862ec5242ceaa9992554ab4e68dbbb316680
treef091b0095bff76f9e0699cf3bb16f17a16d778aa
parentd9737ff18a63da7671ff991f8d79a2d09fec66e5
USB: Don't use EHCI port sempahore for USB 3.0 hubs.

commit 0fe51aa5eee51db7c7ecd201d42a977ad79c58b6 upstream.

The EHCI host controller needs to prevent EHCI initialization when the
UHCI or OHCI companion controller is in the middle of a port reset.  It
uses ehci_cf_port_reset_rwsem to do this.  USB 3.0 hubs can't be under
an EHCI host controller, so it makes no sense to down the semaphore for
USB 3.0 hubs.  It also makes the warm port reset code more complex.

Don't down ehci_cf_port_reset_rwsem for USB 3.0 hubs.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/usb/core/hub.c