On Thu, Feb 14, 2002, David Brownell <[EMAIL PROTECTED]> wrote:
> > > 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?

Yes, it is a bug. I'll submit a patch for uhci.c atleast to fix it.

> 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.

Good point, that would add some complications that aren't trivial to
workaround.

JE


_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to