PCI: quirk_e100_interrupt() called too early
authorMarian Balakowicz <m8@semihalf.com>
Tue, 3 Jul 2007 09:03:18 +0000 (11:03 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 22 Aug 2007 21:48:40 +0000 (14:48 -0700)
commit4e68fc97b17470365a65bc569523dd9012730e44
tree3b8bc704011d2ae19e63b57505b8218873426ee4
parentce5ccdef1090367f3024b4d5e7908bf6bd2929ae
PCI: quirk_e100_interrupt() called too early

quirk_e100_interrupts() is called after PCI controller is initialized
and before PCI bus enumeration is performed. On some powerpc platforms
which modify PCI controller configuration and set different MEM and IO
windows than those set by firmware quirk_e100_interrupt() is causing
kernel panic as it tries to read from device BAR0 offets which at this
time points to a invalid PCI window (set by firmware).

This patch delays the quirk_100_interrupt() to pci_fixup_final phase,
which happens after bus enumeration and before PCI enable and
device driver initialization.

Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/pci/quirks.c