> > I have a question about the handling of interrupt URBs: once > > an interrupt URB has been submitted (usb_submit_urb()), does it have > > to be resubmitted by the completion routine, or does the USB system > > automatically re-queue the URB once the completion routine returns ? > > In the latter case which fields in the URB would need to be set up > > again ? > > Depends on if you set the interval or not. An interval of 0 is what is > called one shot and it'll be finished when the transfer has completed.
However, that's a UHCI-specific feature. Avoid it for drivers that you expect to work on other HCs. > If you set the interval to anything other than 0, then it will > automatically resubmit for you. This is how interrupt URB's are > typically used. Although there are rumblings that the automagic logic should maybe disappear (in 2.5) in favor of a straight queuing mechanism, with explicit resubmit ... fewer special cases in the driver model. The current automagic resubmission schemes (ISO does it too) can mask errors, and don't handle some interesting interrupt cases that are important for writes (OUT to device) or for avoiding a need to have "USB target drivers" (for Linux embedded in USB devices) use an excessively different kind of URB API. - Dave _______________________________________________________________ Have big pipes? SourceForge.net is looking for download mirrors. We supply the hardware. You get the recognition. Email Us: [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
