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