diff options
Diffstat (limited to 'drivers/ide/pci/hpt366.c')
-rw-r--r-- | drivers/ide/pci/hpt366.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c index 06dce0999105..d3f6f9da96b2 100644 --- a/drivers/ide/pci/hpt366.c +++ b/drivers/ide/pci/hpt366.c | |||
@@ -737,18 +737,13 @@ static void hpt3xx_maskproc(ide_drive_t *drive, int mask) | |||
737 | static int hpt366_config_drive_xfer_rate(ide_drive_t *drive) | 737 | static int hpt366_config_drive_xfer_rate(ide_drive_t *drive) |
738 | { | 738 | { |
739 | ide_hwif_t *hwif = HWIF(drive); | 739 | ide_hwif_t *hwif = HWIF(drive); |
740 | struct hd_driveid *id = drive->id; | ||
741 | 740 | ||
742 | drive->init_speed = 0; | 741 | drive->init_speed = 0; |
743 | 742 | ||
744 | if ((id->capability & 1) && drive->autodma) { | 743 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) |
745 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) | 744 | return hwif->ide_dma_on(drive); |
746 | return hwif->ide_dma_on(drive); | ||
747 | |||
748 | goto fast_ata_pio; | ||
749 | 745 | ||
750 | } else if ((id->capability & 8) || (id->field_valid & 2)) { | 746 | if (ide_use_fast_pio(drive)) { |
751 | fast_ata_pio: | ||
752 | hpt3xx_tune_drive(drive, 255); | 747 | hpt3xx_tune_drive(drive, 255); |
753 | return hwif->ide_dma_off_quietly(drive); | 748 | return hwif->ide_dma_off_quietly(drive); |
754 | } | 749 | } |