> The problem is basically that the usbcore in case of an unlink has
> to wait while the hardware might be dealing with an urb and the
> completion handler is running.

Classic urb-unlink issue inside the hcd, doesn't need
to be exposed outside.  Any given URB is either going
to have completed normally, or be partially complete
(including zero bytes), when the hardware stops work
on it.  The hcd only needs to report it appropriately.


> But how do you wait for a data structure that may be freed ?

As a rule, I'd rely on a completion callback.  for control
and bulk, any callback indicates it's unlinked.  For the
periodic urbs, -ENOENT/-ECONNRESET status says it.
The completion callback would signal any waiters.

- Dave




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

Reply via email to