diff options
Diffstat (limited to 'drivers/ide/pci/alim15x3.c')
-rw-r--r-- | drivers/ide/pci/alim15x3.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index 83e0aa65a431..946a12746cb5 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c | |||
@@ -534,7 +534,7 @@ static int ali15x3_config_drive_for_dma(ide_drive_t *drive) | |||
534 | struct hd_driveid *id = drive->id; | 534 | struct hd_driveid *id = drive->id; |
535 | 535 | ||
536 | if ((m5229_revision<=0x20) && (drive->media!=ide_disk)) | 536 | if ((m5229_revision<=0x20) && (drive->media!=ide_disk)) |
537 | goto no_dma_set; | 537 | goto ata_pio; |
538 | 538 | ||
539 | drive->init_speed = 0; | 539 | drive->init_speed = 0; |
540 | 540 | ||
@@ -555,20 +555,19 @@ try_dma_modes: | |||
555 | (id->dma_1word & hwif->swdma_mask)) { | 555 | (id->dma_1word & hwif->swdma_mask)) { |
556 | /* Force if Capable regular DMA modes */ | 556 | /* Force if Capable regular DMA modes */ |
557 | if (!config_chipset_for_dma(drive)) | 557 | if (!config_chipset_for_dma(drive)) |
558 | goto no_dma_set; | 558 | goto ata_pio; |
559 | } | 559 | } |
560 | } else if (__ide_dma_good_drive(drive) && | 560 | } else if (__ide_dma_good_drive(drive) && |
561 | (id->eide_dma_time < 150)) { | 561 | (id->eide_dma_time < 150)) { |
562 | /* Consult the list of known "good" drives */ | 562 | /* Consult the list of known "good" drives */ |
563 | if (!config_chipset_for_dma(drive)) | 563 | if (!config_chipset_for_dma(drive)) |
564 | goto no_dma_set; | 564 | goto ata_pio; |
565 | } else { | 565 | } else { |
566 | goto ata_pio; | 566 | goto ata_pio; |
567 | } | 567 | } |
568 | } else { | 568 | } else { |
569 | ata_pio: | 569 | ata_pio: |
570 | hwif->tuneproc(drive, 255); | 570 | hwif->tuneproc(drive, 255); |
571 | no_dma_set: | ||
572 | return -1; | 571 | return -1; |
573 | } | 572 | } |
574 | 573 | ||