Am Saturday 31 January 2009 00:50:00 schrieb Sarah Sharp: > I think I understand... You're suggesting one URB per buffer for > non-sg-capable drivers. And all URBs that are part of one transfer > (which may include multiple packets sent in a burst) are chained > together, correct? Yes, one URB per buffer. Just that URBs can be united > > Would drivers that currently use usb_sg_init() still use that function, > or will they have to be re-written to create chained URBs? usb_sg_init(9 would create chained URBs > If they continue to use usb_sg_*, what should that function do with that > scatter gather list if the HCD supports scatter gather? Turn it into a > chained URB with one URB per sg list entry? That way HCDs would just > have to deal with buffers in chained URBs, rather than chained URBs and > single URBs with scatter gather lists in them. Exactly. > Does usb_sg_init() need to create even more URBs when the sg list entry > exceeds the wMaxPacketSize buffer length limit? I think if the USB core > is submitting a chained URB to a scatter gather capable HCD, it doesn't > need to honor the wMaxPacketSize buffer length limit. This rule is new > to me, so I may be confused. An URB's buffer length is not limited to wMaxPacketSize right now. I propose a solution that changes nothing whether URBs are submitted single or as a chain. 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