diff options
author | Anton Blanchard <anton@samba.org> | 2005-10-11 08:29:00 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-11 09:46:53 -0700 |
commit | e4314bf496bb7bb9acd754aeb319c30869bc8d76 (patch) | |
tree | ecec8fb728b2f872f970a7d666aa0147654e809f /arch/ppc64 | |
parent | e5945b4f605d1479d5b44252a2c691168c5d38d6 (diff) | |
download | blackbird-op-linux-e4314bf496bb7bb9acd754aeb319c30869bc8d76.tar.gz blackbird-op-linux-e4314bf496bb7bb9acd754aeb319c30869bc8d76.zip |
[PATCH] ppc64: Fix PCI hotplug
pSeries_irq_bus_setup is marked __devinit but references s7a_workaround
which is marked __initdata.
Depending on who got the memory for s7a_workaround (and if the value was
now positive), it was possible for PCI hotplugged devices to have 3
subtracted from their interrupt number. This would happen randomly and
caused me much confusion :)
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc64')
-rw-r--r-- | arch/ppc64/kernel/pSeries_pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/ppc64/kernel/pSeries_pci.c b/arch/ppc64/kernel/pSeries_pci.c index 1f5f141fb7a1..928f8febdb3b 100644 --- a/arch/ppc64/kernel/pSeries_pci.c +++ b/arch/ppc64/kernel/pSeries_pci.c @@ -32,7 +32,7 @@ #include "pci.h" -static int __initdata s7a_workaround = -1; +static int __devinitdata s7a_workaround = -1; #if 0 void pcibios_name_device(struct pci_dev *dev) @@ -60,7 +60,7 @@ void pcibios_name_device(struct pci_dev *dev) DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pcibios_name_device); #endif -static void __init check_s7a(void) +static void __devinit check_s7a(void) { struct device_node *root; char *model; |