On Sat, 12 Feb 2005, Mark McClelland wrote:

> What happens if the last URB submitted for the frame is only 20667 
> bytes, or whatever (frame_length % max_urb_size) is? I wonder if the 
> firmware just isn't able to pad-out partial bulk packets reliably?

That's not how it works.  The firmware never has to pad partial packets; 
it just sends whatever it has whenever the host asks it to.  The host asks 
for each packet individually, and the camera sends a full packet if it has 
that much data, otherwise it sends a partial packet.

It doesn't matter very much how much data the URB requests.  The host will
just keep asking for data until either the URB is full or the camera sends
a partial packet.  An error will occur if, at the end of the transfer, the
URB has only a partial-packet worth of space left but the camera sends a
full packet (or one larger than the remaining space in the URB).  That
would be an overflow, and it will show up in the system log if verbose
USB debugging is turned on.  It will also show up in the URB's status.

Alan Stern



-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
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