]> git.baikalelectronics.ru Git - kernel.git/commit
USB: xhci: Handle short control packets correctly.
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Mon, 27 Jul 2009 19:03:36 +0000 (12:03 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 28 Jul 2009 21:31:12 +0000 (14:31 -0700)
commit80fe218881d3f273ebdacc398ccc611159bf6424
tree3fe063ec9a07d3cee20874fd0000be92fd0f8a9e
parentfe34d03dea84f3ce14fc665262f4f7aeb727cd2b
USB: xhci: Handle short control packets correctly.

When there is a short packet on a control transfer, the xHCI host controller
hardware will generate two events.  The first event will be for the data stage
TD with a completion code for a short packet.  The second event will be for the
status stage with a successful completion code.  Before this patch, the xHCI
driver would giveback the short control URB when it received the event for the
data stage TD.  Then it would become confused when it saw a status stage event
for the endpoint for an URB it had already finished processing.

Change the xHCI host controller driver to wait for the status stage event when
it receives a short transfer completion code for a data stage TD.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/usb/host/xhci-ring.c