[POWERPC] EEH: log error only after driver notification.

It turns out many/most versions of firmware enable MMIO when
the slto-error-detail rtas call is made (in violation of the
architecture). Thus, it would be best to call slot-error-detail
only after notifying device drivers of a freeze, as otherwise,
a variety of strange and unexpected things may happen.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Linas Vepstas 2007-05-09 09:33:29 +10:00 коммит произвёл Paul Mackerras
Родитель b7a6912969
Коммит ede8ca269f
1 изменённых файлов: 5 добавлений и 1 удалений

Просмотреть файл

@ -361,7 +361,6 @@ struct pci_dn * handle_eeh_events (struct eeh_event *event)
goto hard_fail; goto hard_fail;
} }
eeh_slot_error_detail(frozen_pdn, 1 /* Temporary Error */);
printk(KERN_WARNING printk(KERN_WARNING
"EEH: This PCI device has failed %d times since last reboot: " "EEH: This PCI device has failed %d times since last reboot: "
"location=%s driver=%s pci addr=%s\n", "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); 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 /* If all device drivers were EEH-unaware, then shut
* down all of the device drivers, and hope they * down all of the device drivers, and hope they
* go down willingly, without panicing the system. * go down willingly, without panicing the system.