> 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