> Turns out that if the disconnect() method uses synchronous
> unlinks, and the device connects through the shared HCD
> framework, there's a guarantee that the completion routine
> has returned (your other issue!) before usb_unlink_urb()
> does ... unless the urb was already being returned to the
> driver. That's because of the way the synchronous wait's
> completion is spliced in right after the normal completion.
>
> That guarantee can be used to resolve that 'rmmod' issue
> you mentioned, I think. At least for any driver that's
> serious about tracking and unlinking all its requests.
The issue is solved if the unlink succeeds.
If however the completion is called due to some
other reason, the unlink will fail. But there's the no way
to know that the completion handler has finished.
You can know that it has finished working eg. by a
wake_up(), but you'll have that window before the return.
Regards
Oliver
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel