diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/pci/intel_mid_pci.c | 2 | ||||
-rw-r--r-- | arch/x86/pci/irq.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c index 09fece3..3865116 100644 --- a/arch/x86/pci/intel_mid_pci.c +++ b/arch/x86/pci/intel_mid_pci.c @@ -229,7 +229,7 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev) static void intel_mid_pci_irq_disable(struct pci_dev *dev) { - if (dev->irq > 0) + if (!dev->dev.power.is_prepared && dev->irq > 0) mp_unmap_irq(dev->irq); } diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c index 748cfe8..bc1a2c3 100644 --- a/arch/x86/pci/irq.c +++ b/arch/x86/pci/irq.c @@ -1256,7 +1256,8 @@ static int pirq_enable_irq(struct pci_dev *dev) static void pirq_disable_irq(struct pci_dev *dev) { - if (io_apic_assign_pci_irqs && dev->irq) { + if (io_apic_assign_pci_irqs && !dev->dev.power.is_prepared && + dev->irq) { mp_unmap_irq(dev->irq); dev->irq = 0; } |