summaryrefslogtreecommitdiffstats
path: root/arch/ppc64
diff options
context:
space:
mode:
authorPaul Mackerras <paulus@samba.org>2005-09-13 20:56:20 +1000
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-13 08:26:15 -0700
commit0160f53e427e9f1f6d19b898867c105406037b6f (patch)
treef6aa908acf391bb95622d194b77920d8d2e159bd /arch/ppc64
parent42ac8ff2ce58138ba1339296406bde6636792bd8 (diff)
downloadtalos-obmc-linux-0160f53e427e9f1f6d19b898867c105406037b6f.tar.gz
talos-obmc-linux-0160f53e427e9f1f6d19b898867c105406037b6f.zip
[PATCH] ppc64: Make eeh_init function again
My patch "Separate pci bits out of struct device_node" (commit 1635317facea3094ddf34082cd86797efb1d9f7e) had the unfortunate side-effect that it stopped eeh_init() from working correctly. It needs the pointers set up by find_and_init_phbs(), but it was being called just before find_and_init_phbs(). That meant that we didn't enable EEH (pSeries PCI error recovery) on any devices, and that meant that on POWER5 systems, the hypervisor wouldn't let us enable memory or I/O space access to any devices, and their drivers got somewhat confused. This fixes it by moving the eeh_init call after find_and_init_phbs. Tested on a POWER5 partition. Signed-of-by: Paul Mackerras <paulus@samba.org> Signed-of-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc64')
-rw-r--r--arch/ppc64/kernel/pSeries_setup.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/pSeries_setup.c b/arch/ppc64/kernel/pSeries_setup.c
index bfadccc7b8be..3009701eb90d 100644
--- a/arch/ppc64/kernel/pSeries_setup.c
+++ b/arch/ppc64/kernel/pSeries_setup.c
@@ -238,8 +238,8 @@ static void __init pSeries_setup_arch(void)
/* Find and initialize PCI host bridges */
init_pci_config_tokens();
- eeh_init();
find_and_init_phbs();
+ eeh_init();
#ifdef CONFIG_DUMMY_CONSOLE
conswitchp = &dummy_con;
OpenPOWER on IntegriCloud