diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-05 22:03:50 +0200 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-05 22:03:50 +0200 |
commit | 072cdcbb7af8a0e1894f9caa6d46d027bbe7f647 (patch) | |
tree | 94b9f73bf58d7e9f454133731ae2b3f5cd03ab7b /drivers/ide/pci/alim15x3.c | |
parent | 826a1b6502d0d1d67fc41043fc831e90f2ef5835 (diff) | |
download | blackbird-op-linux-072cdcbb7af8a0e1894f9caa6d46d027bbe7f647.tar.gz blackbird-op-linux-072cdcbb7af8a0e1894f9caa6d46d027bbe7f647.zip |
alim15x3: PIO fallback fix
If DMA tuning fails always set the best PIO mode.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
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) struct hd_driveid *id = drive->id; if ((m5229_revision<=0x20) && (drive->media!=ide_disk)) - goto no_dma_set; + goto ata_pio; drive->init_speed = 0; @@ -555,20 +555,19 @@ try_dma_modes: (id->dma_1word & hwif->swdma_mask)) { /* Force if Capable regular DMA modes */ if (!config_chipset_for_dma(drive)) - goto no_dma_set; + goto ata_pio; } } else if (__ide_dma_good_drive(drive) && (id->eide_dma_time < 150)) { /* Consult the list of known "good" drives */ if (!config_chipset_for_dma(drive)) - goto no_dma_set; + goto ata_pio; } else { goto ata_pio; } } else { ata_pio: hwif->tuneproc(drive, 255); -no_dma_set: return -1; } |