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