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-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to