Hi,

I'm currently updating/re-writing a host driver for SL811 circuit
for kernel 2.4. I've several questions about expected works of
host driver :

1) Does synchrone unlink must call complete() callback ? If yes
   Is supposed it must call it before returning from unlink command ?

2) What is the expected end of life of an urb ? Does is it until
complete() call ? Until there is something else in status than
-EINPROGRESS ?

3) Where/how/who uncompleted urbs are free during usb_disconnect() off 
a device (and then also then cleanup host driver) ? Is it the
responsability of host driver to unlink all urbs attached to device
during it's own hci_free_dev() ? Or is it the usbcore that do job
indirectly ?

4) How does work the urb->next. Does the device driver submit all
urbs of ->next chain and it is the responsability of the host driver
to send urb in the chain order ? What is stop condition in cas of
ring ? Stop to resubmit an urb when the next argument is NULL ? When
any urb->status got any error value after compete() ? Does urbA is 
resubmited by host driver just after complete() of urbA or only when
pointed by urbB->next = urbA after complete() of urbB ?

Is't a good things to try to attach a new host driver with hcd.c for
2.[56] kernel ?
 
Thanks for any answers


PS: Is there a "How to write a host driver"  or "what is exactly the
work of host driver" :)

Sylvain


-------------------------------------------------------
This SF.net email is sponsored by: Microsoft Visual Studio.NET 
comprehensive development tool, built to increase your 
productivity. Try a free online hosted session at:
http://ads.sourceforge.net/cgi-bin/redirect.pl?micr0003en
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to