On Fri, 16 Nov 2007, Nelson, Shannon wrote: > first->async_tx.phys; > > - __list_splice(&new_chain, ioat_chan->used_desc.prev); > > + list_splice_tail(&new_chain, ioat_chan->used_desc.prev); > > > > NAK. > > These functions do insertions differently. The 'prev' is pointing to > the last valid descriptor in the queue and you really want to get the > new_chain stuck on after this. Your list_splice_tail() will insert the > new_chain just before it which will muck up the order of the DMA > requests. > > You might have more success with > list_splice_tail(&new_chain, ioat_chan->used_desc); > where used_desc points to the whole list, rather than using the .prev > pointer to a specific node. > > Please copy me on future ioatdma related comments. > And people wonder why we post RT related patches to LKML. This is exactly why! Thanks for the response Shannon! -- Steve - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html