On Mon, 8 Jan 2007, xiaoxin liu wrote:

> Hi, all
> 
> I am new to usb kernel development.
> I am not clear enough to the process of the submission of Isochronous
> transfer URB in Linux kernel.
> 
> In Solaris, while doing isochronous transfer, user application just need
> to submit one isochronous urb, "ONLY ONE",then the host controller
> driver will duplicate the urb and link them together. So user is able to
> continuously get data from the isochronous request.
> 
> I don't know if linux host controller drivers do the same thing.

They don't.  If an URB is successfully submitted, the core will give it 
back to the driver when it has completed.  There's no automatic 
duplication, linking, or re-submission.

> If not,
> how does linux kernel implement a continuous isochronous thansfer ?

Your driver must keep the endpoint queue full at all times.  In practice 
this means that you must keep several URBs queued, and each time one of 
them completes your completion handler routine must submit another URB.  
There is more information in the kerneldoc in drivers/usb/core/urb.c.

Alan Stern


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
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