RE: [PATCH] r8152: stop submitting rx for -EPROTO

From: Hayes Wang
Date: Thu Sep 30 2021 - 23:27:18 EST


> Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> [...]
> > There has been some discussion about this in the past.
> >
> > In general, -EPROTO is almost always a non-recoverable error.
>
> Excuse me. I am confused about the above description.
> I got -EPROTO before, when I debugged another issue.
> However, the bulk transfer still worked after I resubmitted
> the transfer. I didn't do anything to recover it. That is why
> I do resubmission for -EPROTO.

I check the Linux driver and the xHCI spec.
The driver gets -EPROTO for bulk transfer, when the host
returns COMP_USB_TRANSACTION_ERROR.
According to the spec of xHCI, USB TRANSACTION ERROR
means the host did not receive a valid response from the
device (Timeout, CRC, Bad PID, unexpected NYET, etc.).
It seems to be reasonable why resubmission sometimes works.

Best Regards,
Hayes