> better to be explicit I think: provide a routine for halting the endpoint
> (I guess this exists already).  Then people who resubmit in the completion
> handler can do:
> 
> halt the endpoint (all submissions to the endpoint will fail).
> unlink the urb (synchronously)
> restart the endpoint
> 
> If I understand right, you are proposing to bundle the "halt the endpoint"
> part into usb_unlink_urb (sync)?

No, it seems to me he wants a "halt the urb" function.

But that's not really an issue. All you need to do is to spin on a running
completion handler. After that either the completion handler has run,
which means the assumption drivers make is safe to make, or you
can unlink the newly submitted urb.
Not quite so trivial to implement without races, but there are _no_
changes to existing semantics.

        Regards
                Oliver



-------------------------------------------------------
This SF.net email is sponsored by: IBM Linux Tutorials.
Become an expert in LINUX or just sharpen your skills.  Sign up for IBM's
Free Linux Tutorials.  Learn everything from the bash shell to sys admin.
Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to