aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-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 cc2495a0cdd..0c6b7d7ce9e 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. */