On Sun, 12 Sep 2004, Johannes Erdfelt wrote: > > In short, your USB host controller has a hardware bug. It's supposed to > > advance the QH element pointer whenever a TD completes successfully by > > copying the TD's link pointer into the element pointer. But it didn't do > > that when TD 0 from the first dump completed. > > > > I suppose it's possible that your controller isn't really broken, but > > instead it has signalled a non-standard VIA-specific type of error that > > the UHCI driver doesn't recognize. Since VIA has been very unhelpful > > about supplying documentation and errata for their USB controllers, > > there's nothing we can do about that. > > > > But it seems more likely that your host controller is simply broken. That > > would certainly account for why you see the flow of traffic come to a > > sudden stop every now and then. See if things work any better if you use > > a different controller, preferably not made by VIA. > > It could also be a driver bug. It has happened before. > > I haven't looked at the code in a long time, but we did have a bug where > we were setting the element pointer incorrectly and raced with the HC > updating the value.
I don't think that's happening here. There's only a handful of places where the driver sets qh->element: when adding TDs to the QH, before the QH is linked into the schedule; when allocating the QH, before it is linked; when removing a QH, after it is unlinked from the schedule and we have called wmb() to insure that it really is unlinked (this couldn't have been Dominique's problem because his URB wasn't unlinked); when a control-in URB receives a short packet, qh->element is updated to point to the status packet (again this is unrelated to Dominique's problem since he was doing a bulk transfer); when initializing the skel_term_qh. Evidently none of these applied to the situation under discussion. Alan Stern ------------------------------------------------------- This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170 Project Admins to receive an Apple iPod Mini FREE for your judgement on who ports your project to Linux PPC the best. Sponsored by IBM. Deadline: Sept. 13. Go here: http://sf.net/ppc_contest.php _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel