Arlet Ottens wrote:
> While trying to write a linux driver for my USB device on kernel
> 2.4.30, I noticed that doing an usb_unlink_urb on a bulk IN endpoint,
> and then submitting a new urb later, causes the next packet of data on
> that endpoint to be lost. I see the packet on my USB bus analyzer, but
> I don't get the completion callback in the driver.
>
> It appears to be caused by the fact that Linux has performed the data
> toggle on that endpoint even though there was never any data received.
> When the packet comes in, it decides that it has the wrong toggle
> bit, and discards it.

I had what I think is the same problem three years ago, but never found
the time to completely investigate it:
http://www.mail-archive.com/linux-usb-devel@lists.sourceforge.net/msg07499.html

In the uhci_unlink_generic function in uhci.c, try changing the
initialization of prevactive from 1 to 0.


Regards,
Clemens



-------------------------------------------------------
This SF.Net email is sponsored by Yahoo.
Introducing Yahoo! Search Developer Network - Create apps using Yahoo!
Search APIs Find out how you can build Yahoo! directly into your own
Applications - visit http://developer.yahoo.net/?fr=offad-ysdn-ostg-q22005
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to