Commit 8df83028 authored by Linas Vepstas's avatar Linas Vepstas Committed by Paul Mackerras

[PATCH] powerpc/pseries: print message if EEH recovery fails

The current code prints an ambiguous message if the recovery
of a failed PCI device fails. Give this special case its own
unique message.
Signed-off-by: default avatarLinas Vepstas <linas@austin.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 8c33fd11
...@@ -301,7 +301,7 @@ void handle_eeh_events (struct eeh_event *event) ...@@ -301,7 +301,7 @@ void handle_eeh_events (struct eeh_event *event)
} }
if (frozen_pdn->eeh_freeze_count > EEH_MAX_ALLOWED_FREEZES) if (frozen_pdn->eeh_freeze_count > EEH_MAX_ALLOWED_FREEZES)
goto hard_fail; goto excess_failures;
/* If the reset state is a '5' and the time to reset is 0 (infinity) /* If the reset state is a '5' and the time to reset is 0 (infinity)
* or is more then 15 seconds, then mark this as a permanent failure. * or is more then 15 seconds, then mark this as a permanent failure.
...@@ -356,7 +356,7 @@ void handle_eeh_events (struct eeh_event *event) ...@@ -356,7 +356,7 @@ void handle_eeh_events (struct eeh_event *event)
return; return;
hard_fail: excess_failures:
/* /*
* About 90% of all real-life EEH failures in the field * About 90% of all real-life EEH failures in the field
* are due to poorly seated PCI cards. Only 10% or so are * are due to poorly seated PCI cards. Only 10% or so are
...@@ -367,7 +367,15 @@ void handle_eeh_events (struct eeh_event *event) ...@@ -367,7 +367,15 @@ void handle_eeh_events (struct eeh_event *event)
"and has been permanently disabled. Please try reseating\n" "and has been permanently disabled. Please try reseating\n"
"this device or replacing it.\n", "this device or replacing it.\n",
drv_str, pci_str, frozen_pdn->eeh_freeze_count); drv_str, pci_str, frozen_pdn->eeh_freeze_count);
goto perm_error;
hard_fail:
printk(KERN_ERR
"EEH: Unable to recover from failure of PCI device %s - %s\n"
"Please try reseating this device or replacing it.\n",
drv_str, pci_str);
perm_error:
eeh_slot_error_detail(frozen_pdn, 2 /* Permanent Error */); eeh_slot_error_detail(frozen_pdn, 2 /* Permanent Error */);
/* Notify all devices that they're about to go down. */ /* Notify all devices that they're about to go down. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment