Skip to content

Commit

Permalink
[PATCH] ppc64: Fix PCI hotplug
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Anton Blanchard authored and Linus Torvalds committed Oct 11, 2005
1 parent e5945b4 commit e4314bf
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions arch/ppc64/kernel/pSeries_pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit e4314bf

Please sign in to comment.