On Wed, 7 Apr 2010, Sarah Sharp wrote: > usb_sg_init() should set up only one URB when it's passing an > usb_sg_request to an xHCI driver. But yes, there's nothing in > usb_sg_request to indicate which stream this usb_sg_request is intended > for. > > > So, please provide your feedback. > > What about the following patch? Matthew Wilcox has said that using > usb_sg_request is a bit of a pain, and it would be better if urb->sg was > a pointer to the actual scatterlist. If you change the urb's sg pointer > to an actual scatterlist, then you don't have to use usb_sg_init(), you > can just enqueue the sglist. You also don't have to use usb_sg_wait(), > and you can just handle the completion asynchronously (and thus make it > easier to handle multiple queued commands). > > Note that this patch still needs work on the usbmon side. We didn't > know how to fix it, so we just disabled output for scattergather lists. > Alan, can you give us some guidance on how to fix usbmon if this change > were to go through? The actual situation isn't as bad as you think. There's a patch already waiting in Greg's inbox that will simplify this a lot: http://marc.info/?l=linux-usb&m=127022925126150&w=2 Alan Stern -- 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