> If INTs could be queued, there would not really even be a need to > 'resubmit' the URBs. The completion handler can simply resubmit a > completed URB (if desired) without any loss of data or polling time.
For the record, this is going down the path of the "support multi-buffering" proposal I sketched out (API change #2) ... you might look at that a bit more, and share comments on that part of the original RFC. One difference between that and what Roman sketched was that I did was in the model for schedule management: - He suggested a new HCD level "set_endpoint_properties" call (perhaps coupled to set_config and set_interface?) to schedule the bandwidth. - I'd suggested that the bandwidth would stay scheduled until after an interrupt transfer completed, there was no transfer queued. Yes, I tend to think that it might be worth breaking existing interrupt transfer code in this way to get an improved API. But it'd be work... - Dave p.s. I have similar comments about ISO transfers... :) Apart from some wire-level differences, the main structural difference between INTR and ISO is supposed to be that (a) no lowspeed ISO, (b) for fullspeed, INTR has a smaller maxpacket (64 bytes vs 1023 for ISO), (c) at all speeds, errors on INTR transfers are supposed to get retried, but ISO ones get reported. Both are supposed to respect the endpoint poll period, and "high bandwidth" mode (up to 24 MByte/sec, highspeed) works much the same. In short, we may want to consider corresponding updates to the ISO transfer model, since it's not intended to be as different from the INTR one as it is today in Linux. _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel