MLK-17348 xhci: Reset endpoint when endpoint is halted
authorYe Li <ye.li@nxp.com>
Thu, 4 Jan 2018 15:17:57 +0000 (09:17 -0600)
committerYe Li <ye.li@nxp.com>
Mon, 8 Jan 2018 14:14:03 +0000 (08:14 -0600)
commit6a2418e2b0554045ae1e8096b22fa64da5de4d8a
tree745512b7962cf2b997c228faccc2f97abdc1d078
parentaf901cae281a617063559f60761ad4e912fccd5f
MLK-17348 xhci: Reset endpoint when endpoint is halted

When testing a poor USB disk "Transcend JetFlash XPGMC7W5 ", sometime we
will get TRB TX error during getting string descriptors, then the usb process
aborts due to the context state changed to halted.

Actually when the endpoint context state is halted, we can send reset endpoint
command to put it to stopped state, then set TR dequeue pointer for following
doorbell ring to re-run it. This patch adds this error recovery mechanism.

Signed-off-by: Ye Li <ye.li@nxp.com>
drivers/usb/host/xhci-ring.c