From 0160f53e427e9f1f6d19b898867c105406037b6f Mon Sep 17 00:00:00 2001 From: Paul Mackerras Date: Tue, 13 Sep 2005 20:56:20 +1000 Subject: [PATCH] [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 Signed-of-by: Linus Torvalds --- arch/ppc64/kernel/pSeries_setup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/ppc64/kernel/pSeries_setup.c b/arch/ppc64/kernel/pSeries_setup.c index bfadccc7b8..3009701eb9 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; -- 2.39.5