Commit e4314bf4 authored by Anton Blanchard's avatar Anton Blanchard Committed by Linus Torvalds

[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: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent e5945b4f
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
#include "pci.h" #include "pci.h"
static int __initdata s7a_workaround = -1; static int __devinitdata s7a_workaround = -1;
#if 0 #if 0
void pcibios_name_device(struct pci_dev *dev) void pcibios_name_device(struct pci_dev *dev)
...@@ -60,7 +60,7 @@ 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); DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pcibios_name_device);
#endif #endif
static void __init check_s7a(void) static void __devinit check_s7a(void)
{ {
struct device_node *root; struct device_node *root;
char *model; char *model;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment