diff options
author | Paul Mackerras <paulus@samba.org> | 2005-09-13 20:56:20 +1000 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-13 08:26:15 -0700 |
commit | 0160f53e427e9f1f6d19b898867c105406037b6f (patch) | |
tree | f6aa908acf391bb95622d194b77920d8d2e159bd /arch | |
parent | 42ac8ff2ce58138ba1339296406bde6636792bd8 (diff) | |
download | linux-3.10-0160f53e427e9f1f6d19b898867c105406037b6f.tar.gz linux-3.10-0160f53e427e9f1f6d19b898867c105406037b6f.tar.bz2 linux-3.10-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')
-rw-r--r-- | arch/ppc64/kernel/pSeries_setup.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/ppc64/kernel/pSeries_setup.c b/arch/ppc64/kernel/pSeries_setup.c index bfadccc7b8b..3009701eb90 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; |