aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/alim15x3.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/alim15x3.c')
-rw-r--r--drivers/ide/pci/alim15x3.c7
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 {
569ata_pio: 569ata_pio:
570 hwif->tuneproc(drive, 255); 570 hwif->tuneproc(drive, 255);
571no_dma_set:
572 return -1; 571 return -1;
573 } 572 }
574 573