On Mon, Oct 18, 2021 at 07:06:34PM +0200, Bjørn Mork wrote:
From: Jonathan Bell jonathan@raspberrypi.org
upstream commit 5255660b208a
Seen on a VLI VL805 PCIe to USB controller. For non-stream endpoints at least, if the xHC halts on a particular TRB due to an error then the DCS field in the Out Endpoint Context maintained by the hardware is not updated with the current cycle state.
Using the quirk XHCI_EP_CTX_BROKEN_DCS and instead fetch the DCS bit from the TRB that the xHC stopped on.
See: https://github.com/raspberrypi/linux/issues/3060
Signed-off-by: Jonathan Bell jonathan@raspberrypi.org Signed-off-by: Bjørn Mork bjorn@mork.no Cc: Mathias Nyman mathias.nyman@linux.intel.com
This isn't really a backport. It's the original patch for 5.10 from https://github.com/raspberrypi/linux.git , which was forward ported and ended up as upstream commit 5255660b208a
The XHCI_EP_CTX_BROKEN_DCS constant has been syncronozed with upstream to avoid collisions, though.
Now queued up, thanks.
greg k-h