|
@@ -361,7 +361,6 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event)
|
|
|
goto hard_fail;
|
|
|
}
|
|
|
|
|
|
- eeh_slot_error_detail(frozen_pdn, 1 /* Temporary Error */);
|
|
|
printk(KERN_WARNING
|
|
|
"EEH: This PCI device has failed %d times since last reboot: "
|
|
|
"location=%s driver=%s pci addr=%s\n",
|
|
@@ -375,6 +374,11 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event)
|
|
|
*/
|
|
|
pci_walk_bus(frozen_bus, eeh_report_error, &result);
|
|
|
|
|
|
+ /* Since rtas may enable MMIO when posting the error log,
|
|
|
+ * don't post the error log until after all dev drivers
|
|
|
+ * have been informed. */
|
|
|
+ eeh_slot_error_detail(frozen_pdn, 1 /* Temporary Error */);
|
|
|
+
|
|
|
/* If all device drivers were EEH-unaware, then shut
|
|
|
* down all of the device drivers, and hope they
|
|
|
* go down willingly, without panicing the system.
|