xhci: Do not issue device reset when device is not setup
authorMaarten Lankhorst <m.b.lankhorst@gmail.com>
Wed, 1 Jun 2011 21:27:50 +0000 (23:27 +0200)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 2 Jun 2011 23:38:25 +0000 (16:38 -0700)
commit001fd3826f4c736ce292315782d015f768399080
tree2b8bb31f39e4ec0333a7f82fbaa555f996933086
parente2b0217715c6d10379d94bdfe5560af96eecbb7c
xhci: Do not issue device reset when device is not setup

xHCI controllers respond to a Reset Device command when the Slot is in the
Enabled/Disabled state by returning an error.  This is fine on other host
controllers, but the Etron xHCI host controller returns a vendor-specific
error code that the xHCI driver doesn't understand.  The xHCI driver then
gives up on device enumeration.

Instead of issuing a command that will fail, just return.  This fixes the
issue with the xhci driver not working on ASRock P67 Pro/Extreme boards.

This should be backported to stable kernels as far back as 2.6.34.

Signed-off-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@kernel.org
drivers/usb/host/xhci.c