diff options
Diffstat (limited to 'drivers/ide/pci/pdc202xx_old.c')
-rw-r--r-- | drivers/ide/pci/pdc202xx_old.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index 80eb6d271330..a2be3d2fd3f6 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c | |||
@@ -323,21 +323,13 @@ chipset_is_set: | |||
323 | static int pdc202xx_config_drive_xfer_rate (ide_drive_t *drive) | 323 | static int pdc202xx_config_drive_xfer_rate (ide_drive_t *drive) |
324 | { | 324 | { |
325 | ide_hwif_t *hwif = HWIF(drive); | 325 | ide_hwif_t *hwif = HWIF(drive); |
326 | struct hd_driveid *id = drive->id; | ||
327 | 326 | ||
328 | drive->init_speed = 0; | 327 | drive->init_speed = 0; |
329 | 328 | ||
330 | if (id && (id->capability & 1) && drive->autodma) { | 329 | if (ide_use_dma(drive) && config_chipset_for_dma(drive)) |
331 | 330 | return hwif->ide_dma_on(drive); | |
332 | if (ide_use_dma(drive)) { | ||
333 | if (config_chipset_for_dma(drive)) | ||
334 | return hwif->ide_dma_on(drive); | ||
335 | } | ||
336 | |||
337 | goto fast_ata_pio; | ||
338 | 331 | ||
339 | } else if ((id->capability & 8) || (id->field_valid & 2)) { | 332 | if (ide_use_fast_pio(drive)) { |
340 | fast_ata_pio: | ||
341 | pdc202xx_tune_drive(drive, 255); | 333 | pdc202xx_tune_drive(drive, 255); |
342 | return hwif->ide_dma_off_quietly(drive); | 334 | return hwif->ide_dma_off_quietly(drive); |
343 | } | 335 | } |