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