aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/pci/irq.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/pci/irq.c')
-rw-r--r--arch/x86/pci/irq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c
index e1d605bfeb47..4064345cf144 100644
--- a/arch/x86/pci/irq.c
+++ b/arch/x86/pci/irq.c
@@ -1068,7 +1068,7 @@ static void __init pcibios_fixup_irqs(void)
1068 struct pci_dev *bridge = dev->bus->self; 1068 struct pci_dev *bridge = dev->bus->self;
1069 int bus; 1069 int bus;
1070 1070
1071 pin = (((pin - 1) + PCI_SLOT(dev->devfn)) % 4) + 1; 1071 pin = pci_swizzle_interrupt_pin(dev, pin);
1072 bus = bridge->bus->number; 1072 bus = bridge->bus->number;
1073 irq = IO_APIC_get_PCI_irq_vector(bus, 1073 irq = IO_APIC_get_PCI_irq_vector(bus,
1074 PCI_SLOT(bridge->devfn), pin - 1); 1074 PCI_SLOT(bridge->devfn), pin - 1);
@@ -1232,7 +1232,7 @@ static int pirq_enable_irq(struct pci_dev *dev)
1232 while (irq < 0 && dev->bus->parent) { /* go back to the bridge */ 1232 while (irq < 0 && dev->bus->parent) { /* go back to the bridge */
1233 struct pci_dev *bridge = dev->bus->self; 1233 struct pci_dev *bridge = dev->bus->self;
1234 1234
1235 pin = (((pin - 1) + PCI_SLOT(dev->devfn)) % 4) + 1; 1235 pin = pci_swizzle_interrupt_pin(dev, pin);
1236 irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number, 1236 irq = IO_APIC_get_PCI_irq_vector(bridge->bus->number,
1237 PCI_SLOT(bridge->devfn), pin - 1); 1237 PCI_SLOT(bridge->devfn), pin - 1);
1238 if (irq >= 0) 1238 if (irq >= 0)