aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/setup-pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/setup-pci.c')
-rw-r--r--drivers/ide/setup-pci.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c
index d5901ec9e8cc..26061fe1b712 100644
--- a/drivers/ide/setup-pci.c
+++ b/drivers/ide/setup-pci.c
@@ -428,9 +428,10 @@ static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwi
428static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwif_t *hwif) 428static void ide_hwif_setup_dma(struct pci_dev *dev, ide_pci_device_t *d, ide_hwif_t *hwif)
429{ 429{
430 u16 pcicmd; 430 u16 pcicmd;
431
431 pci_read_config_word(dev, PCI_COMMAND, &pcicmd); 432 pci_read_config_word(dev, PCI_COMMAND, &pcicmd);
432 433
433 if ((d->autodma == AUTODMA) || 434 if ((d->host_flags & IDE_HFLAG_NO_AUTODMA) == 0 ||
434 ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE && 435 ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE &&
435 (dev->class & 0x80))) { 436 (dev->class & 0x80))) {
436 unsigned long dma_base = ide_get_or_set_dma_base(hwif); 437 unsigned long dma_base = ide_get_or_set_dma_base(hwif);
@@ -558,7 +559,7 @@ void ide_pci_setup_ports(struct pci_dev *dev, ide_pci_device_t *d, int pciirq, a
558 if (d->init_iops) 559 if (d->init_iops)
559 d->init_iops(hwif); 560 d->init_iops(hwif);
560 561
561 if (d->autodma == NODMA) 562 if (d->host_flags & IDE_HFLAG_NO_DMA)
562 goto bypass_legacy_dma; 563 goto bypass_legacy_dma;
563 564
564 if(d->init_setup_dma) 565 if(d->init_setup_dma)