2018-09-21 13:25:25

by Sandeep Singh

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

From: Sandeep Singh <[email protected]>

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 <[email protected]>
cc: Nehal Shah <[email protected]>
cc: Shyam Sundar S K <[email protected]>
---
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



2018-09-24 13:13:45

by Mathias Nyman

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

On 21.09.2018 16:22, Sandeep Singh wrote:
> From: Sandeep Singh <[email protected]>
>
> 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
>

Thanks, adding to queue.

Just out of curiosity, was the TRB pointer bits all zeroes
in this Stopped -Length invalid transfer event TRB?

-Mathias


2018-09-25 09:18:25

by Singh, Sandeep

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



On 9/24/2018 6:39 PM, Mathias Nyman wrote:
> On 21.09.2018 16:22, Sandeep Singh wrote:
>> From: Sandeep Singh <[email protected]>
>>
>> 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
>>
>
> Thanks, adding to queue.
>
> Just out of curiosity, was the TRB pointer bits all zeroes
> in this Stopped -Length invalid transfer event TRB?
>
Yes, TRB pointer bits all zeroes

> -Mathias
>
Thanks
Sandeep