David Laight <David.Laight@xxxxxxxxxx> writes: > From: Bjørn Mork >> David Laight <David.Laight@xxxxxxxxxx> writes: >> >> > The patch you submitted is wrong. >> > Whoever wrote the sg interface was on crack. >> > The 'last' marker needs moving as well. >> >> I'm afraid I don't understand what you meant by this. >> >> sg_init_table() set the 'last' marker. AFAICS, you don't need to change >> it unless you want to chain lists. >> >> Care to explain with some code? > > Just assuming that there will be some code, somewhere, that will try > to process the entire sg list - so won't like the entry with a > NULL pointer and zero length at the end. > > If all the places that process the list are given an explicit > number of entries, or don't care about the NULL it doesn't matter. I believe all processing use the urb->num_sgs field to limit the number of entries. Common interfaces like dma_map_sg() and for_each_sg() limit their processing to "nents" entries, and the USB code use the value of urb->num_sgs for this parameter. Bjørn -- 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