Greg KH wrote: > > It's up to the device driver to detect that the error was one that is > recoverable, and to fix it. As you found out, the bluetooth.c driver > does not do that :(
Would sending a usb_clear_halt do the trick? > I'd be interested as to why the stall happens, any ideas about that? Well, it seems to follow the failing bulk IN transfers, so I guess I should fix those first. I feel sort of stuck though, so any ideas or pointers are appreciated. Short recap of my findings so far: As the ping sizes get larger, the bulk IN transfers start failing (always NAK'ed). The bulk OUT transfers are always ACK'ed though. It seems unlikely that the bulk OUT transfers keep the device so busy that it doesn't have time to answer the bulk IN requests, since regardless of ping packet size, at a rate of one packet per second the bandwidth consumption is still super low. Still, when bulk IN fails, there are fewer frames between the bulk OUTs. David Brownell had an idea that the Bluetooth module may be upset because my HC keeps polling the device for bulk IN data for the remainder of the frame when it NAK's it (instead of waiting until the next frame to poll again). That's beyond my control, BTW. The interrupt IN transfers (which carry HCI packets, for flow control) are not uniformly distributed in the log. I.e, they do not always come one after each bulk OUT transfer. With larger ping packet sizes, 2 - 4 interrupt transfers may happen after all bulk OUT data has been sent. I don't think this should have anything to do with it though. I've looked at the packet contents, to see if the bulk OUT data is corrupted somehow (which would explain why I don't get a ping reply), but it looks fine to me. Also, I can't move the Bluetooth module to my host PC, since it's on a embedded device. Thanks, Orjan -- Orjan Friberg Axis Communications AB ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
