On Tuesday 15 January 2002 19:42, David Brownell wrote:
> > 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.

I really doubt that this issue can be not exposed.

If I may point you to the following code path:
usb_unlink_urb -> sohci_unlink_urb
There you find a huge amount of usage of the urb pointer
the driver has supplied.
Yet usb_unlink_urb and the completion handler can race,
at least on SMP. I can see really no way that API is supposed
to work if the urb can be freed in the completion handler.

        Regards
                Oliver

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

Reply via email to