[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>
This commit is contained in:
parent
e5945b4f60
commit
e4314bf496
|
@ -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)
|
||||||
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;
|
||||||
|
|
Loading…
Reference in New Issue