aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
authorLinas Vepstas <linas@austin.ibm.com>2006-03-29 16:31:04 -0500
committerPaul Mackerras <paulus@samba.org>2006-04-01 06:35:01 -0500
commit8df83028cf52e3bf68dfd35a4b1a044b326a4a99 (patch)
tree162cc436ef5c40901f83d0414f8b408d0d7a69c5 /arch/powerpc/platforms
parent8c33fd11e3a21a15af35b5831f1516faf53094f1 (diff)
[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>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r--arch/powerpc/platforms/pseries/eeh_driver.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/arch/powerpc/platforms/pseries/eeh_driver.c b/arch/powerpc/platforms/pseries/eeh_driver.c
index cc2495a0cdd5..0c6b7d7ce9e8 100644
--- a/arch/powerpc/platforms/pseries/eeh_driver.c
+++ b/arch/powerpc/platforms/pseries/eeh_driver.c
@@ -301,7 +301,7 @@ void handle_eeh_events (struct eeh_event *event)
301 } 301 }
302 302
303 if (frozen_pdn->eeh_freeze_count > EEH_MAX_ALLOWED_FREEZES) 303 if (frozen_pdn->eeh_freeze_count > EEH_MAX_ALLOWED_FREEZES)
304 goto hard_fail; 304 goto excess_failures;
305 305
306 /* If the reset state is a '5' and the time to reset is 0 (infinity) 306 /* If the reset state is a '5' and the time to reset is 0 (infinity)
307 * or is more then 15 seconds, then mark this as a permanent failure. 307 * 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 356
357 return; 357 return;
358 358
359hard_fail: 359excess_failures:
360 /* 360 /*
361 * About 90% of all real-life EEH failures in the field 361 * About 90% of all real-life EEH failures in the field
362 * are due to poorly seated PCI cards. Only 10% or so are 362 * are due to poorly seated PCI cards. Only 10% or so are
@@ -367,7 +367,15 @@ hard_fail:
367 "and has been permanently disabled. Please try reseating\n" 367 "and has been permanently disabled. Please try reseating\n"
368 "this device or replacing it.\n", 368 "this device or replacing it.\n",
369 drv_str, pci_str, frozen_pdn->eeh_freeze_count); 369 drv_str, pci_str, frozen_pdn->eeh_freeze_count);
370 goto perm_error;
371
372hard_fail:
373 printk(KERN_ERR
374 "EEH: Unable to recover from failure of PCI device %s - %s\n"
375 "Please try reseating this device or replacing it.\n",
376 drv_str, pci_str);
370 377
378perm_error:
371 eeh_slot_error_detail(frozen_pdn, 2 /* Permanent Error */); 379 eeh_slot_error_detail(frozen_pdn, 2 /* Permanent Error */);
372 380
373 /* Notify all devices that they're about to go down. */ 381 /* Notify all devices that they're about to go down. */