On Thu, 2 Dec 2004 11:54:31 -0500 (EST), Alan Stern <[EMAIL PROTECTED]> wrote: > On Wed, 1 Dec 2004, Karl Bongers wrote: > > > > > Hi, > > > > So somehow I found myself here despite trying to avoid kernel hacking by > > using libusb. libusb has this concept of submit a read/write with a > > timeout. > > So I submit a read, and just pick a random timeout, say 1 second. > > Lib usb then sits in a poll loop, after a second it cancels the read and > > returns. My program then resubmits the read again and again. > > > > It appears that UHCI does not setup the right DATA0/DATA1 toggle > > for this case. It keeps toggling with each new read. The DATA0/DATA1 > > is suppose to toggle with each successfully completed packet. > > The result in this case is the toggle gets advanced each time even > > though no packet has been delivered, resulting in initial dropped packets. > > So when the URB is canceled, there is some code > > in the uhci_unlink_generic() call thats calculates the next appropriate > > toggle to use. > > > > Heres a one line patch(against 2.6.9) that fixes it for me. > > Thanks for sending this. Exactly the same change as you submitted has in > fact already been applied to 2.6.10.
Thanks for the reply! Sorry about the dup. Guess that will teach me to check the latest patches and search the list :) ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel