On Mon, 2007-07-16 at 16:19 -0400, Jeff Garzik wrote: > James Bottomley wrote: > > This one was noticed by Gilbert Wu of Adaptec: > > > > The libata core actually does the DMA mapping for you, so there has to > > be an exception in the device drivers that *don't* do dma mapping for > > ATA commands. However, since we've already done this, libsas must now > > dma map any ATA commands that it wishes to issue ... and yes, this is a > > horrible mess. > > Can you help me understand this logic? > > libsas must DMA map an ATA command... because libata also DMA maps an > ATA command? That does not make sense to me. Why not? ... since the driver must *not* map an ATA command (to prevent double mapping from libata), it can't tell if the command comes from libsas or libata ... so libsas has to map any internal ATA commands it uses. I think you're perhaps thinking libsas must map an ATA command libata has already mapped? If so, no, libsas must only map the commands it is using internally independent of libata. James - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html