On Thu, Nov 17, 2011 at 10:22:58PM -0500, Kevin O'Connor wrote:
This series ports Paolo's uhci fixes to the ehci code. Unfortunately, I'm still seeing an occasional hang with my flash drives on my e350m1 (ehci controller), so there's still some other bug lurking in the ehci code.
I think I found the issue on EHCI. The EHCI controller actually has the opposite requirement from UHCI - the TD is updated before the QH. So, I've created a new patch which always checks the TDs to verify transfer completion. (Control transfers used to just check the QH, and it actually only checked that the last TD was in progress.)
This has been very stable on my e350m1 with several different USB drives. I have seen a few timeouts, but they're so sporadic now that I haven't been able to track them down. (The e350m1 also has a known usb init bug which could be causing the remaining failures.)
So, please ignore the previous patch 2/3 and use the patch below. (I've committed the unrelated patch 1 of the previous series.)
-Kevin