diff options
author | Russell King <rmk+kernel@armlinux.org.uk> | 2021-03-25 10:26:21 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@armlinux.org.uk> | 2021-03-25 10:26:21 +0000 |
commit | 30e3b4f256b4e366a61658c294f6a21b8626dda7 (patch) | |
tree | bb0c805986ff0ff865b129dcab6c3d135a0da1cd /arch/arm/mach-footbridge/cats-pci.c | |
parent | 45c2f70cba3a7eff34574103b2e2b901a5f771aa (diff) |
ARM: footbridge: fix PCI interrupt mapping
Since commit 30fdfb929e82 ("PCI: Add a call to pci_assign_irq() in
pci_device_probe()"), the PCI code will call the IRQ mapping function
whenever a PCI driver is probed. If these are marked as __init, this
causes an oops if a PCI driver is loaded or bound after the kernel has
initialised.
Fixes: 30fdfb929e82 ("PCI: Add a call to pci_assign_irq() in pci_device_probe()")
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Diffstat (limited to 'arch/arm/mach-footbridge/cats-pci.c')
-rw-r--r-- | arch/arm/mach-footbridge/cats-pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-footbridge/cats-pci.c b/arch/arm/mach-footbridge/cats-pci.c index 0b2fd7e2e9b4..90b1e9be430e 100644 --- a/arch/arm/mach-footbridge/cats-pci.c +++ b/arch/arm/mach-footbridge/cats-pci.c @@ -15,14 +15,14 @@ #include <asm/mach-types.h> /* cats host-specific stuff */ -static int irqmap_cats[] __initdata = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 }; +static int irqmap_cats[] = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 }; static u8 cats_no_swizzle(struct pci_dev *dev, u8 *pin) { return 0; } -static int __init cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) +static int cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) { if (dev->irq >= 255) return -1; /* not a valid interrupt. */ |