On Wed, 27 Jun 2007, Jeff Garzik wrote:
Such would be a diagnostic that would trigger on valid SCSI commands, when the
user is doing nothing wrong and the system can indeed complete the command
just fine. Additionally, this is moving us in the direction of what the IDE
driver has apparently been doing.
Indeed. At least the IDE CD-ROM driver does
if ((rq->data_len & 15) || (addr & mask))
info->dma = 0;
where the "mask" is the dma_alignment mask. So it requires the length to
be a multiple of 16, and also requires a certain alignment of the data
(which defaults to 32 bytes for some reason I cannot for the life of me
remember).
The generic BIO layer does that DMA alignment check too when mapping user
pages.
Linus