On Monday 21 May 2007 13:37, Oliver Neukum wrote:
> Am Mittwoch, 16. Mai 2007 20:43 schrieb Hans Petter Selasky:
> > The lock that you are holding during submission is the same lock that is
> > protecting the callback. Actually you can end up calling the
> > __usbd_callback() prematurely in my new USB stack, but that is handled
> > just fine, through some recurse bits:
>
> That code needs to be shot, staked through the heart, burned and buried
> in holy ground. If an operation fails, you return an error. What do you
> think happens if the callback tries to repair the error and fails to do so?
> 

You have to back out and start some watchdog timer.

Typically when you get an error you start the clear-stall transfer. If that 
fails you back out and rely on a watchdog timer to start the transfer again 
later.

Of course this won't go into an infinite loop :-)

--HPS

-------------------------------------------------------------------------
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