Hello David! > So, the INTR-OUT problem. For example, maxpacket size is 64, > period is maybe 8, but the driver needs to send 100 bytes. That > adds up to 64 bytes in one frame, then 36 bytes after a delay of > 8 frames ... then wanting to stop/unlink. This is one problem that > the LEGO folk have been seeing.
Another problem that bytes me: sending 16 Bytes all 2 ms, but have to adjust this size to 15 or 17 because of buffer handling in the device - synchronizing to the real world. > What if it does nothing, like today's drivers, expecting that to mean > the URB should continue being submitted? I did end up thinking > that completion callbacks needed to have a new capability, but > I didn't want to change the existing model (it doesn't bother me). > > My thought was pretty much to leave today's behavior alone, but > add a new usb_modify_urb() that's allowed to change the transfer > size for INTR-OUT urbs in their completion callbacks. Yes! Absolutely. This would fit it! > I certainly agree that unlinking the urb in the completion handler > should work portably; that's annoyance (b). That's an issue for > both IN and OUT interrupt transfers. For *each* sort of transfer, of course! And not only unlinking, but also freeing the urb! How long will it take to make the Linux USB api robust? > I guess I don't see why one-shot interrupt transfers would be > "the only thing that makes sense". They really seem like the > exceptional case to me. I'd rather design for the typical case > (a sequence of transfers) but allow them to stop in a cleaner > and quicker way than they can portably achieve today. Yes! best regards Wolfgang _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel