Hi David,

I've got usbtest running on top of isp116x-hcd, the
periferal end is net2280 chip.

When running test #10 subtest #10, the driver is in
trouble. This is the case, where 1KiB data is requested,
while URB_SHORT_NOT_OK flag is set for urb. The device
returns 32 bytes, IIRC, and then keeps NAK-ing further
attempts to squeeze data out of it. The current isp116x
driver implementation is such that the driver just keeps
retrying.  The urb is stuck as the usbtest waits for its
completion, while the driver does not complete it.

As other HCDs run test #10 fine, I conclude that I haven't
just understood, how such SHORT_NOT_OK urbs should be
handled. USB 2.0 spec Ch 9.2.6.4 states that devices may NAK
the requests for hundreds of milliseconds before sending the
next data packet, therefore doing usual error_count>=3 test
in HCD seems to be inadequate to finish the urb with
-EREMOTEIO. How this situation is supposed to be handled by
HCD? Setting up a timer?

I looked into sl811-hcd in 2.6.10 and it seems like it just
retries like my current isp116x-hcd. But how does it survive
the usbtest #10 then? Tried to look at other HCDs as well,
but there the Done queues are filled by HCs and the code
didn't reveal much on this issue.

Thanks in advance,
Olav




-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
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