[PATCH] ppc64: Make eeh_init function again
Paul Mackerras
paulus at samba.org
Tue Sep 13 20:56:20 EST 2005
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, since
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 at samba.org>
---
diff -urN linux-2.6/arch/ppc64/kernel/pSeries_setup.c test/arch/ppc64/kernel/pSeries_setup.c
--- linux-2.6/arch/ppc64/kernel/pSeries_setup.c 2005-09-13 07:43:47.000000000 +1000
+++ test/arch/ppc64/kernel/pSeries_setup.c 2005-09-13 19:19:28.000000000 +1000
@@ -238,8 +238,8 @@
/* 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;
More information about the Linuxppc64-dev
mailing list