[PATCH] xhci: Add check for invalid byte size error when UAS devices are connected.

From: Sandeep Singh
Date: Fri Sep 21 2018 - 09:23:20 EST


From: Sandeep Singh <sandeep.singh@xxxxxxx>

Observed "TRB completion code (27)" error which corresponds to Stopped -
Length Invalid error(xhci spec section 4.17.4) while connecting USB to
SATA bridge.

Looks like this case was not considered when the following patch[1] was
committed. Hence adding this new check which can prevent
the invalid byte size error.

[1] ade2e3a xhci: handle transfer events without TRB pointer

Signed-off-by: Sandeep Singh <sandeep.singh@xxxxxxx>
cc: Nehal Shah <Nehal-bakulchandra.Shah@xxxxxxx>
cc: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
---
drivers/usb/host/xhci-ring.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index f0a99aa..8ba2cbc 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -2246,6 +2246,7 @@ static int handle_tx_event(struct xhci_hcd *xhci,
goto cleanup;
case COMP_RING_UNDERRUN:
case COMP_RING_OVERRUN:
+ case COMP_STOPPED_LENGTH_INVALID:
goto cleanup;
default:
xhci_err(xhci, "ERROR Transfer event for unknown stream ring slot %u ep %u\n",
--
2.7.4