Re: [PATCH 1/1] usb: xhci: handle endpoint error caused by TRB error

From: Lu Baolu
Date: Thu Nov 10 2016 - 20:56:30 EST


Hi,

On 11/11/2016 09:03 AM, Lu Baolu wrote:
> When xHCI host sees a malformed TRB in a transfer ring,
> it will generate a transfer event with the completion
> code set to COMP_TRB_ERR (5), and sets the endpoint
> state in output endpoint context to EP_STATE_ERROR.
> The endpoint enters ERROR state as the result.
>
> XHCI specification requires that Set TR Dequeue Pointer
> Command shall be used to transition the endpoint from
> Error to Stopped state. Current xHCI driver doesn't
> clear this endpoint error, hence the successive URB
> enqueue requests will result in error messages of
> "WARN waiting for error on ep to be cleared". And the
> corresponding USB device stays in unresponsive state.
>
> This patch enhances xHCI driver on this by printing out
> the malformed TRB and clearing the endpoint Error state.
>
> Tested-by: Wang Wendy <wendy.wang@xxxxxxxx>
^^^^^
intel.com

I will correct it with a v2.

Best regards,
Lu Baolu