diff options
Diffstat (limited to 'drivers/ide/pci/it821x.c')
-rw-r--r-- | drivers/ide/pci/it821x.c | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/drivers/ide/pci/it821x.c b/drivers/ide/pci/it821x.c index 752a142ca89b..f3391a8698ac 100644 --- a/drivers/ide/pci/it821x.c +++ b/drivers/ide/pci/it821x.c | |||
@@ -537,10 +537,11 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) | |||
537 | struct it821x_dev *idev = kzalloc(sizeof(struct it821x_dev), GFP_KERNEL); | 537 | struct it821x_dev *idev = kzalloc(sizeof(struct it821x_dev), GFP_KERNEL); |
538 | u8 conf; | 538 | u8 conf; |
539 | 539 | ||
540 | if(idev == NULL) { | 540 | if (idev == NULL) { |
541 | printk(KERN_ERR "it821x: out of memory, falling back to legacy behaviour.\n"); | 541 | printk(KERN_ERR "it821x: out of memory, falling back to legacy behaviour.\n"); |
542 | goto fallback; | 542 | return; |
543 | } | 543 | } |
544 | |||
544 | ide_set_hwifdata(hwif, idev); | 545 | ide_set_hwifdata(hwif, idev); |
545 | 546 | ||
546 | hwif->atapi_dma = 1; | 547 | hwif->atapi_dma = 1; |
@@ -589,27 +590,14 @@ static void __devinit init_hwif_it821x(ide_hwif_t *hwif) | |||
589 | hwif->drives[0].autotune = 1; | 590 | hwif->drives[0].autotune = 1; |
590 | hwif->drives[1].autotune = 1; | 591 | hwif->drives[1].autotune = 1; |
591 | 592 | ||
592 | if (!hwif->dma_base) | 593 | if (hwif->dma_base == 0) |
593 | goto fallback; | 594 | return; |
594 | 595 | ||
595 | hwif->ultra_mask = 0x7f; | 596 | hwif->ultra_mask = 0x7f; |
596 | hwif->mwdma_mask = 0x07; | 597 | hwif->mwdma_mask = 0x07; |
597 | 598 | ||
598 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) | 599 | if (hwif->cbl != ATA_CBL_PATA40_SHORT) |
599 | hwif->cbl = ata66_it821x(hwif); | 600 | hwif->cbl = ata66_it821x(hwif); |
600 | |||
601 | /* | ||
602 | * The BIOS often doesn't set up DMA on this controller | ||
603 | * so we always do it. | ||
604 | */ | ||
605 | |||
606 | hwif->autodma = 1; | ||
607 | hwif->drives[0].autodma = hwif->autodma; | ||
608 | hwif->drives[1].autodma = hwif->autodma; | ||
609 | return; | ||
610 | fallback: | ||
611 | hwif->autodma = 0; | ||
612 | return; | ||
613 | } | 601 | } |
614 | 602 | ||
615 | static void __devinit it8212_disable_raid(struct pci_dev *dev) | 603 | static void __devinit it8212_disable_raid(struct pci_dev *dev) |