Hi, Alan
Thanks for your reply.
I still have some questions as follows:
Alan Stern 写道:
> 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.  
>   
You mean that I should resubmit a URB in completion handler in my 
driver. However,
Currently I submit isochronous transfer request from user application 
through ioctl(), not in a kernel usb device
driver. In fact, the completion handler routine is defaultly set as 
async_completed(). That is to say,
I can't modify the completion handler to resubmit a URB.
What suggestions for this situation??
> There is more information in the kerneldoc in drivers/usb/core/urb.c.
>
>   
> Alan Stern
>
>   
cheers,

Xiaoxin

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