diff options
Diffstat (limited to 'drivers/ide/ide-dma.c')
-rw-r--r-- | drivers/ide/ide-dma.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index abab26de7687..15e608f52eba 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c | |||
@@ -649,8 +649,8 @@ static unsigned int ide_get_mode_mask(ide_drive_t *drive, u8 base, u8 req_mode) | |||
649 | case XFER_SW_DMA_0: | 649 | case XFER_SW_DMA_0: |
650 | if (id[ATA_ID_FIELD_VALID] & 2) { | 650 | if (id[ATA_ID_FIELD_VALID] & 2) { |
651 | mask = id[ATA_ID_SWDMA_MODES] & hwif->swdma_mask; | 651 | mask = id[ATA_ID_SWDMA_MODES] & hwif->swdma_mask; |
652 | } else if (drive->driveid->tDMA) { | 652 | } else if (id[ATA_ID_OLD_DMA_MODES] >> 8) { |
653 | u8 mode = drive->driveid->tDMA; | 653 | u8 mode = id[ATA_ID_OLD_DMA_MODES] >> 8; |
654 | 654 | ||
655 | /* | 655 | /* |
656 | * if the mode is valid convert it to the mask | 656 | * if the mode is valid convert it to the mask |
@@ -727,7 +727,7 @@ static int ide_tune_dma(ide_drive_t *drive) | |||
727 | ide_hwif_t *hwif = drive->hwif; | 727 | ide_hwif_t *hwif = drive->hwif; |
728 | u8 speed; | 728 | u8 speed; |
729 | 729 | ||
730 | if (drive->nodma || (drive->driveid->capability & 1) == 0) | 730 | if (drive->nodma || ata_id_has_dma(drive->id) == 0) |
731 | return 0; | 731 | return 0; |
732 | 732 | ||
733 | /* consult the list of known "bad" drives */ | 733 | /* consult the list of known "bad" drives */ |