Alan Cox <alan <at> lxorguk.ukuu.org.uk> writes: > > > So then ap->prd[idx].flags_len gets set to (0x10000 & 0xFFFF) = 0 ! > > So this sg element ends up with a zero length, even though the > > transfer size should be 64k. > > > > Is this correct behaviour, if not, should it be corrected ? > > The specification says that 0x0000 means 64K. A couple of controllers do > get this wrong and we did recently add a second sg list builder for those. > > Perhaps a comment or two is in order ? > - Thanks - but which specification is this ? As far as I am aware there is no spec for DMA controllers running ATA. Since DMA controller details may vary according to hardware, I would have expected that ata_fill_sg() would be one of the overloadable function entries with a driver-specific function that knew about the DMA controller niceties, and how to stuff a sg entry. Cheers, MikeW - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html