Mikael Pettersson wrote:
@@ -789,8 +789,14 @@ static void pdc_exec_command_mmio(struct
static int pdc_check_atapi_dma(struct ata_queued_cmd *qc)
{
u8 *scsicmd = qc->scsicmd->cmnd;
+ struct ata_port *ap = qc->ap;
+ struct pdc_host_priv *hp = ap->host->private_data;
int pio = 1; /* atapi dma off by default */
+ /* First generation chips cannot use ATAPI DMA on SATA ports */
+ if (!(hp->flags & PDC_FLAG_GEN_II) && sata_scr_valid(ap))
+ return 1;
+
/* Whitelist commands that may use DMA. */
switch (scsicmd[0]) {
case WRITE_12:
IMO creating a new check_atapi_dma function for first-gen chips would be
the preferred way to add this check.
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