diff options
Diffstat (limited to 'drivers/ide/pci/alim15x3.c')
-rw-r--r-- | drivers/ide/pci/alim15x3.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/ide/pci/alim15x3.c b/drivers/ide/pci/alim15x3.c index 27525ec2e19a..d52c54bb6a78 100644 --- a/drivers/ide/pci/alim15x3.c +++ b/drivers/ide/pci/alim15x3.c | |||
@@ -594,7 +594,7 @@ out: | |||
594 | * FIXME: frobs bits that are not defined on newer ALi devicea | 594 | * FIXME: frobs bits that are not defined on newer ALi devicea |
595 | */ | 595 | */ |
596 | 596 | ||
597 | static unsigned int __devinit ata66_ali15x3 (ide_hwif_t *hwif) | 597 | static u8 __devinit ata66_ali15x3(ide_hwif_t *hwif) |
598 | { | 598 | { |
599 | struct pci_dev *dev = hwif->pci_dev; | 599 | struct pci_dev *dev = hwif->pci_dev; |
600 | unsigned int ata66 = 0; | 600 | unsigned int ata66 = 0; |
@@ -657,7 +657,7 @@ static unsigned int __devinit ata66_ali15x3 (ide_hwif_t *hwif) | |||
657 | 657 | ||
658 | local_irq_restore(flags); | 658 | local_irq_restore(flags); |
659 | 659 | ||
660 | return(ata66); | 660 | return ata66 ? ATA_CBL_PATA80 : ATA_CBL_PATA40; |
661 | } | 661 | } |
662 | 662 | ||
663 | /** | 663 | /** |
@@ -708,8 +708,9 @@ static void __devinit init_hwif_common_ali15x3 (ide_hwif_t *hwif) | |||
708 | hwif->dma_setup = &ali15x3_dma_setup; | 708 | hwif->dma_setup = &ali15x3_dma_setup; |
709 | if (!noautodma) | 709 | if (!noautodma) |
710 | hwif->autodma = 1; | 710 | hwif->autodma = 1; |
711 | if (!(hwif->udma_four)) | 711 | |
712 | hwif->udma_four = ata66_ali15x3(hwif); | 712 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) |
713 | hwif->cbl = ata66_ali15x3(hwif); | ||
713 | } | 714 | } |
714 | hwif->drives[0].autodma = hwif->autodma; | 715 | hwif->drives[0].autodma = hwif->autodma; |
715 | hwif->drives[1].autodma = hwif->autodma; | 716 | hwif->drives[1].autodma = hwif->autodma; |