aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/tc86c001.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/tc86c001.c')
-rw-r--r--drivers/ide/pci/tc86c001.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/ide/pci/tc86c001.c b/drivers/ide/pci/tc86c001.c
index 2ad72bbda342..4e893808f063 100644
--- a/drivers/ide/pci/tc86c001.c
+++ b/drivers/ide/pci/tc86c001.c
@@ -186,17 +186,11 @@ static int config_chipset_for_dma(ide_drive_t *drive)
186static int tc86c001_config_drive_xfer_rate(ide_drive_t *drive) 186static int tc86c001_config_drive_xfer_rate(ide_drive_t *drive)
187{ 187{
188 ide_hwif_t *hwif = HWIF(drive); 188 ide_hwif_t *hwif = HWIF(drive);
189 struct hd_driveid *id = drive->id;
190 189
191 if ((id->capability & 1) && drive->autodma) { 190 if (ide_use_dma(drive) && config_chipset_for_dma(drive))
191 return hwif->ide_dma_on(drive);
192 192
193 if (ide_use_dma(drive) && config_chipset_for_dma(drive)) 193 if (ide_use_fast_pio(drive)) {
194 return hwif->ide_dma_on(drive);
195
196 goto fast_ata_pio;
197
198 } else if ((id->capability & 8) || (id->field_valid & 2)) {
199fast_ata_pio:
200 tc86c001_tune_drive(drive, 255); 194 tc86c001_tune_drive(drive, 255);
201 return hwif->ide_dma_off_quietly(drive); 195 return hwif->ide_dma_off_quietly(drive);
202 } 196 }