Am Wednesday 28 January 2009 00:34:27 schrieb David Brownell: > On Monday 26 January 2009, Sarah Sharp wrote: > > One of the questions that came up when looking into a UASP driver was whether > > the USB core API to submit scatter gather requests was adequate. My > > understanding was that the driver would call usb_sg_init() and then call > > usb_sg_wait(), thus blocking on the request. > > Right. That was a significant step up from writing one scatterlist > entry at a time and then having the host wait for completion before > submitting the next URB ... but it did not change the usb-storage > model of not accepting multiple concurrent SCSI commands. (Didn't > that restriction come from the USB Mass Storage spec?) Yes, but we could do a quick check for the common errorfree case in the completion handler. In the common case we'd submit the next command and call scsi_done(). That would require a queue depth of 2. That's the best we could do given the current protocol. If we want to support several commands on the fly, we probably want to do something similar and use a kernel thread only for error handling. Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html