4.14-stable review patch. If anyone has any objections, please let me know.
------------------
From: Sandeep Singh sandeep.singh@amd.com
commit d9193efba84fe4c4aa22a569fade5e6ca971f8af upstream.
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
Cc: stable@vger.kernel.org Signed-off-by: Sandeep Singh sandeep.singh@amd.com cc: Nehal Shah Nehal-bakulchandra.Shah@amd.com cc: Shyam Sundar S K Shyam-sundar.S-k@amd.com Signed-off-by: Mathias Nyman mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- drivers/usb/host/xhci-ring.c | 1 + 1 file changed, 1 insertion(+)
--- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -2335,6 +2335,7 @@ static int handle_tx_event(struct xhci_h 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",