On Wed, 16 May 2007 18:11:35 +0200, Hans Petter Selasky <[EMAIL PROTECTED]> 
wrote:

> My "usbd_transfer_start()" returns "void". Your "usb_submit_urb()" 
> returns "int".

We (ok, I) don't like this scheme. In Linux only SCSI uses it,
primarily because that's how Eric Youngdale defined it in 1992.
See, there may be other reasons why a transfer would fail, outside
of memory allocation failure. In such case, an error has to be
reported. In your design, error is reported through a callback,
and if the error is detected during the submission, it is reported
on the context which is submitting. Thus, you cannot hold any
locks across the submission which the callback is likely to take.
It's a real pain on SMP and with a multithreaded system.

-- Pete

-------------------------------------------------------------------------
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/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to