Hey Alan, Unfortunately I haven't had any luck fixing this timing issue, so I've returned to seek wisdom and guidance. I've tried:
-capping the average transfer speed in my driver -looking for similar behaviour in the Windows driver Everything I've observed* suggests (to me) a lurking race condition. There's only two places it could be lurking: -my driver -the uhci host driver Since the linux-usb implementation is 100% bug-free, my code is the bug's likely home. Should I be holding any locks when I call usb_control_msg() or usb_bulk_msg()? any insight would be appreciated; thanks in advance, Geoff * Just to recap: this bug happens when my system is heavily loaded with lots of disk activity. (Ie, lots of hardware and software interrupts.) Also, the only tester that reported the same problem was using a dual AMD64. (Sounds ripe for race conditions.) On Wed, Oct 06, 2004 at 11:26:57AM -0400, Alan Stern wrote: > > 1) isn't "please wait, I'm not ready yet" built-into the USB > > protocol? (So shouldn't it be transparent to me?) > It _is_ in the protocol, but that doesn't mean the device supports the > protocol correctly! *sigh* Duly noted. > > 2) why isn't this happening when the system is lightly loaded or > > when the device is connected to an alternative controller? (As > > I understand it, the ohcl controllers are slightly faster than > > the uhcl ones.) > > I really don't know. And by the way, it's OHCI and UHCI, not OHCL and > UHCL. The acronyms stand for "Open Host Controller Interface" and > "Universal Host Controller Interface". > > I can't imagine any way the UHCI controller would give you a -EPIPE > without actually receiving a STALL from the device. Unless the controller > itself was malfunctioning... I traced the -EPIPE to uhci_result_control(), line 2582 of uhci-hcd.c.. which looks like it did indeed come from the hardware. (Assuming no synchro problems.) > It also looks like the OHCI controller is significantly slower than the > UHCI controller, which is not what one would expect. I was a bit confused by that myself. The UHCI is built-in to the motherboard where the OHCI is on a separate PCI card. I never would suspect the PCI bus of being a bottleneck.. but stranger things have happened. ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel