diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/ide/ide-dma.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index 097d6e9865bc..f073ea35da00 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c | |||
@@ -664,10 +664,11 @@ static unsigned int ide_get_mode_mask(ide_drive_t *drive, u8 base) | |||
664 | if ((id->field_valid & 4) == 0) | 664 | if ((id->field_valid & 4) == 0) |
665 | break; | 665 | break; |
666 | 666 | ||
667 | mask = id->dma_ultra & hwif->ultra_mask; | ||
668 | |||
669 | if (hwif->udma_filter) | 667 | if (hwif->udma_filter) |
670 | mask &= hwif->udma_filter(drive); | 668 | mask = hwif->udma_filter(drive); |
669 | else | ||
670 | mask = hwif->ultra_mask; | ||
671 | mask &= id->dma_ultra; | ||
671 | 672 | ||
672 | if ((mask & 0x78) && (eighty_ninty_three(drive) == 0)) | 673 | if ((mask & 0x78) && (eighty_ninty_three(drive) == 0)) |
673 | mask &= 0x07; | 674 | mask &= 0x07; |