]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ide/ide-dma.c
hpt366: MWDMA filter for SATA cards (take 2)
[linux-2.6-omap-h63xx.git] / drivers / ide / ide-dma.c
index ff644a5e12cda51214ef8940d7db23cf8b98ff1e..097d6e9865bc3c5a2411591e7affe7e2771c7965 100644 (file)
@@ -673,8 +673,13 @@ static unsigned int ide_get_mode_mask(ide_drive_t *drive, u8 base)
                        mask &= 0x07;
                break;
        case XFER_MW_DMA_0:
-               if (id->field_valid & 2)
-                       mask = id->dma_mword & hwif->mwdma_mask;
+               if ((id->field_valid & 2) == 0)
+                       break;
+               if (hwif->mdma_filter)
+                       mask = hwif->mdma_filter(drive);
+               else
+                       mask = hwif->mwdma_mask;
+               mask &= id->dma_mword;
                break;
        case XFER_SW_DMA_0:
                if (id->field_valid & 2) {