[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: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
8c33fd11e3
commit
8df83028cf
|
@ -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)
|
||||||
|
|
||||||
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 @@ hard_fail:
|
||||||
"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. */
|
||||||
|
|
Loading…
Reference in a new issue