diff options
Diffstat (limited to 'arch/ia64/pci/pci.c')
-rw-r--r-- | arch/ia64/pci/pci.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 474d179966dc..f8bcccd6d417 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c | |||
@@ -557,14 +557,18 @@ pcibios_enable_device (struct pci_dev *dev, int mask) | |||
557 | if (ret < 0) | 557 | if (ret < 0) |
558 | return ret; | 558 | return ret; |
559 | 559 | ||
560 | return acpi_pci_irq_enable(dev); | 560 | if (!dev->msi_enabled) |
561 | return acpi_pci_irq_enable(dev); | ||
562 | return 0; | ||
561 | } | 563 | } |
562 | 564 | ||
563 | void | 565 | void |
564 | pcibios_disable_device (struct pci_dev *dev) | 566 | pcibios_disable_device (struct pci_dev *dev) |
565 | { | 567 | { |
566 | BUG_ON(atomic_read(&dev->enable_cnt)); | 568 | BUG_ON(atomic_read(&dev->enable_cnt)); |
567 | acpi_pci_irq_disable(dev); | 569 | if (!dev->msi_enabled) |
570 | acpi_pci_irq_disable(dev); | ||
571 | return 0; | ||
568 | } | 572 | } |
569 | 573 | ||
570 | void | 574 | void |