Kyle McMartin wrote:
On Fri, Apr 13, 2007 at 12:24:34PM -0400, Jeff Garzik wrote:
Kyle McMartin wrote:
Oddly, the command at least executes and doesn't MCE (but it's not at all
happy either) if I use ATA_PROT_PIO. I wonder if ATA_PROT_NODATA is
buggered
on this sata_nv chip (Asus A8N-E).
Weird...
Try turning off ADMA using the module parameter, and see if
ATA_PROT_NODATA magically works.
ADMA is an advanced command execution mode, and it may not be
appropriate for certain non-data commands.
Thanks so much, Jeff! This did it. Think we should drop ADMA by default?
Do you know off-hand if there's any other drivers this might bite us on?
There is a myriad of choices. A lot of controllers snoop the ATA
command set, and perform some special internal behavior (like
autodetecting taskfile protocol, for example). Similar to how several
Promise controllers only use DMA for specific SCSI READ/WRITE commands,
and PIO for everything else, the most optimal choice is generally to use
the DMA engine for fast path DMA data commands, and other commands.
You don't want to punish the fast path by turning off ADMA, merely due
to an issue relating to a non-fast-path command.
Jeff
-
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