aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/ide-dma.c')
-rw-r--r--drivers/ide/ide-dma.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index ff644a5e12cd..097d6e9865bc 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -673,8 +673,13 @@ static unsigned int ide_get_mode_mask(ide_drive_t *drive, u8 base)
673 mask &= 0x07; 673 mask &= 0x07;
674 break; 674 break;
675 case XFER_MW_DMA_0: 675 case XFER_MW_DMA_0:
676 if (id->field_valid & 2) 676 if ((id->field_valid & 2) == 0)
677 mask = id->dma_mword & hwif->mwdma_mask; 677 break;
678 if (hwif->mdma_filter)
679 mask = hwif->mdma_filter(drive);
680 else
681 mask = hwif->mwdma_mask;
682 mask &= id->dma_mword;
678 break; 683 break;
679 case XFER_SW_DMA_0: 684 case XFER_SW_DMA_0:
680 if (id->field_valid & 2) { 685 if (id->field_valid & 2) {