> But let me correct myself: even that's not good enough. Drivers
> always need to explicitly manage URB reuse from completion
> handlers ... if they expect usbcore to mark URBs as reusable,
> there's ALWAYS a race on SMPs between completion handler
> finishing with that URB, and other driver code reusing it.
Usbcore can't mark an URB as reusable.
Only the HCD can do that without a race (or the completion handler could)
All it would take is the core to set a flag upon submit
and the HCD to clear the flag upon return from the completion handler,
unless the URB has been resubmitted in the completion handler. So
using a counter would be easier.
We could then do away with EINPROGRESS and possibly rename
"status" to "error".
Regards
Oliver
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel