> > The portable way to get a one-shot interrupt transfer should be > > to submit the transfer as usual (real period) then unlink it in the > > completion handler for that transfer. > > That won't work with uhci.o or usb-uhci.o. You can't unlink a > resubmitting interrupt urb in the completion handler.
And that's exactly why I said "should be ..." :) Current EHCI and OHCI drivers do handle that correctly. Is there some reason not to treat that as a UHCI bug? Interrupt transfers aren't wholly portable between drivers, except for the HID-IN style where fixed size (but maybe short-read enabled) INTR transfers fire until some thread unlinks the URB. Bleech. > Maybe we should drop the auto resubmitting for 2.5 and require drivers > to use ->next? I'd rather keep that current model, just fix the glitches. Changing the model would forgo the whole reason that USB has interrupt transfers in the first place! I can think of two main glitches just now: - INTR-OUT transfer sizes should be changeable. The IN transfer sizes are controlled by sender (device), but the OUT ones (sent by host) are fixed size. - There's that unlink-in-completion issue for UHCI. Forcing interrupt transfer bandwidth to be rescheduled after every transfer can mean dropping the bandwidth and latency guarantee. It's also a needless waste of CPU cycles (especially for split transactions) in the typical case, and would increase interrupt latencies. - Dave _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel