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

Reply via email to