> > I don't see what you're implying.  Synchronous unlink in the
> > completion handler does not work, as a rule.  So from the
> > perspective of the driver, which does an async unlink (only
> > relevant for a periodic URB), the URB is going to still be
> > linked until it gets a callback with "-ECONNRESET" saying
> > that the async unlink completed.  Likewise, that URB is still
> > owned by the HCD/usbcore until that final callback.
> 
> Not from a driver standpoint. If a driver unlinks an urb, it needs
> to be dead, 

As it will be -- after a delay to make sure the hardware finished.

THINK!!  It is NOT immediate.  For synchronous unlinks, the
calling thread must wait till the hardware is clearly done ... now,
does that suggest why a completion handler (no thread) can't
use a synchronous unlink?


>    even if the completion handler resubmits it.

If it submits an URB that is still owned by usbcore/HCD, say
because the unlink hasn't completed, that's a driver bug.
One car, two drivers -- crash!

- Dave



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

Reply via email to