From ecaf86329459d004a675e098a51b461399e44139 Mon Sep 17 00:00:00 2001 From: Linas Vepstas Date: Wed, 29 Mar 2006 15:31:04 -0600 Subject: [PATCH] --- yaml --- r: 25039 b: refs/heads/master c: 8df83028cf52e3bf68dfd35a4b1a044b326a4a99 h: refs/heads/master i: 25037: 9e483880c7cf472616d3d2b62c3053abe1ef7430 25035: 5c7c10f7cfd36bf27db1741fcc6742194cfcfb23 25031: ff627ac805d198d4b2a0250844d586499ddd115c 25023: c86e3e1e87f4df570cb781041f42b7c13468cd29 v: v3 --- [refs] | 2 +- trunk/arch/powerpc/platforms/pseries/eeh_driver.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index dd147ca72b9e..ef40a5b41f1f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8c33fd11e3a21a15af35b5831f1516faf53094f1 +refs/heads/master: 8df83028cf52e3bf68dfd35a4b1a044b326a4a99 diff --git a/trunk/arch/powerpc/platforms/pseries/eeh_driver.c b/trunk/arch/powerpc/platforms/pseries/eeh_driver.c index cc2495a0cdd5..0c6b7d7ce9e8 100644 --- a/trunk/arch/powerpc/platforms/pseries/eeh_driver.c +++ b/trunk/arch/powerpc/platforms/pseries/eeh_driver.c @@ -301,7 +301,7 @@ void handle_eeh_events (struct eeh_event *event) } 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) * 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; -hard_fail: +excess_failures: /* * About 90% of all real-life EEH failures in the field * are due to poorly seated PCI cards. Only 10% or so are @@ -367,7 +367,15 @@ void handle_eeh_events (struct eeh_event *event) "and has been permanently disabled. Please try reseating\n" "this device or replacing it.\n", 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 */); /* Notify all devices that they're about to go down. */