diff --git a/arch/powerpc/kernel/eeh_driver.c b/arch/powerpc/kernel/eeh_driver.c index 29aa8d1ce273..a62be72da274 100644 --- a/arch/powerpc/kernel/eeh_driver.c +++ b/arch/powerpc/kernel/eeh_driver.c @@ -993,6 +993,8 @@ static void eeh_handle_special_event(void) /* Notify all devices to be down */ eeh_pe_state_clear(pe, EEH_PE_PRI_BUS); + eeh_pe_dev_traverse(pe, + eeh_report_failure, NULL); bus = eeh_pe_bus_get(phb_pe); if (!bus) { pr_err("%s: Cannot find PCI bus for " @@ -1002,8 +1004,6 @@ static void eeh_handle_special_event(void) pe->addr); break; } - eeh_pe_dev_traverse(pe, - eeh_report_failure, NULL); pci_hp_remove_devices(bus); } pci_unlock_rescan_remove();