-ENOENT & -ECONNRESET question

"Curran, Dominic" <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
In Documentation/usb/error-codes.txt it says:

-ENOENT                 URB was synchronously unlinked by usb_unlink_urb

-ECONNRESET             URB was asynchronously unlinked by
usb_unlink_urb

What is the difference between a synchronously and an asynchronously
unlink ?


My understanding from the answer to a previous question is that if you
have the situation where 2 URBS are sent to the HCD:
1) URB  4K   URB_SHORT_NOT_OK
2) URB  8K   URB_SHORT_NOT_OK

If then only 1K of data is sent back from the Device (short packet) then
the HCD would complete the 4K URB with:
  actual_length=1024
  status = -EREMOTEIO

The client driver should then call usb_unlink_urb() for the 8K URB which
would then complete this URB with:
  status = -ECONNRESET

So I assume that would be an example of an asynchronously
unlink...although I'm not entirely sure I understand whats
'asynchronous' about it. 

I don't think I understand what 'synchronous ' & 'asynchronous' mean in
this context.

Thanks for any help
dom

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.