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.

Alan Stern



-------------------------------------------------------
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

Reply via email to