xhci: Do not issue device reset when device is not setup
commit604759f768090595b1ee6cb08371c7f9b0625a6f
authorMaarten Lankhorst <m.b.lankhorst@gmail.com>
Wed, 1 Jun 2011 21:27:50 +0000 (1 23:27 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 23 Jun 2011 22:05:38 +0000 (23 15:05 -0700)
tree711efe796abadf658f7fbc6c0cc02b65c1a2babe
parent91b0ce380e8ce633aa6803f62e70890774a42c53
xhci: Do not issue device reset when device is not setup

commit 001fd3826f4c736ce292315782d015f768399080 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/xhci.c