diff options
Diffstat (limited to 'arch/arm/kernel/bios32.c')
-rw-r--r-- | arch/arm/kernel/bios32.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index 17a59b6e521f..5c5a0bc06709 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c | |||
@@ -491,17 +491,17 @@ EXPORT_SYMBOL(pcibios_bus_to_resource); | |||
491 | */ | 491 | */ |
492 | u8 __devinit pci_std_swizzle(struct pci_dev *dev, u8 *pinp) | 492 | u8 __devinit pci_std_swizzle(struct pci_dev *dev, u8 *pinp) |
493 | { | 493 | { |
494 | int pin = *pinp - 1; | 494 | int pin = *pinp; |
495 | 495 | ||
496 | while (dev->bus->self) { | 496 | while (dev->bus->self) { |
497 | pin = (pin + PCI_SLOT(dev->devfn)) & 3; | 497 | pin = pci_swizzle_interrupt_pin(dev, pin); |
498 | /* | 498 | /* |
499 | * move up the chain of bridges, | 499 | * move up the chain of bridges, |
500 | * swizzling as we go. | 500 | * swizzling as we go. |
501 | */ | 501 | */ |
502 | dev = dev->bus->self; | 502 | dev = dev->bus->self; |
503 | } | 503 | } |
504 | *pinp = pin + 1; | 504 | *pinp = pin; |
505 | 505 | ||
506 | return PCI_SLOT(dev->devfn); | 506 | return PCI_SLOT(dev->devfn); |
507 | } | 507 | } |