]> git.baikalelectronics.ru Git - kernel.git/commit
xhci: Use soft retry to recover faster from transaction errors
authorMathias Nyman <mathias.nyman@linux.intel.com>
Thu, 20 Sep 2018 16:13:37 +0000 (19:13 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 28 Sep 2018 13:04:45 +0000 (15:04 +0200)
commit6bb3d6d13ab9ad5c7539699469d3da8636bb263c
tree6ac1f3f37e5bee6f359519d2ed1978c58a69cecc
parent0664f5323406332da4f13ff21f9812fccc86c72d
xhci: Use soft retry to recover faster from transaction errors

Use soft retry to recover from a USB Transaction Errors that are caused by
temporary error conditions. The USB device is not aware that the xHC
has halted the endpoint, and will be waiting for another retry

A Soft Retry perform additional retries and recover from an error which has
caused the xHC to halt an endpoint.

Soft retry has some limitations:
Soft Retry attempts shall not be performed on Isoch endpoints
Soft Retry attempts shall not be performed if the device is behind a TT in
a HS Hub

Software shall limit the number of unsuccessful Soft Retry attempts to
prevent an infinite loop.

For more details on Soft retry see xhci specs  4.6.8.1

Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/host/xhci-ring.c
drivers/usb/host/xhci.h