On Fri, Jun 8, 2012 at 9:43 PM, Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> wrote: > On Fri, 8 Jun 2012, Huajun Li wrote: > >> > If so, looks mistaken value is returned from the host controller driver, >> > but not sure if your device is buggy. What is your host controller? >> > >> Nothing related to HC. >> I tried to find out the endpoint state, but found it was halt. I think >> this is the root cause. > > No, it isn't. Endpoint halt causes a -EPIPE error, not -EPROTO. > -EPROTO indicates that the device's firmware has crashed. > >> What's your opinion to handle "-EPROTO" error in usbnet.c? >> Please check usbnet.c again, when "-EPROTO" occurs, it just pints >> error msg and re-submit the interrupt URB, and then causes endless >> "EactErr" error msg. > > One possibility is to wait for a little while before resubmitting the > URB, and after 10 failures in a row, attempt a reset. > Alan, thanks for your proposal. You mean reset the device after 10 failures, right ? BTW, I ever tried to sleep several seconds before submitting the 1st interrupt URB, but it did not work. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html