aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGavin Shan <gwshan@linux.vnet.ibm.com>2014-05-01 19:49:48 +1000
committerEli Qiao <taget@linux.vnet.ibm.com>2014-05-04 10:55:21 +0800
commitf7e85433c34d54cc49dd9fffc47d2bf3f86e6863 (patch)
treeba4286852ac423ff4c914d9c07540fa1a4331f9c
parent544b616f43a5569e9dc3012b357c2fcd0e74f421 (diff)
downloadpowerkvm-f7e85433c34d54cc49dd9fffc47d2bf3f86e6863.tar.gz
powerpc/powernv: Don't escalate non-existing frozen PE
Commit 63fa7d4 ("powerpc/eeh: Escalate error on non-existing PE") escalates the frozen state on non-existing PE to fenced PHB. It was to improve kdump reliability. After that, commit 716a0e8 (" powrpc/powernv: Reset PHB in kdump kernel") was introduced to apply complete reset on all PHBs to increase the kdump reliability. Commit 63fa7d4 becomes unuseful and to issue PHB reset on non-fenced (on HW level) PHB would cause unexpected problems. So I'd like to revert it. It's responsing to bug#109562. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
-rw-r--r--arch/powerpc/platforms/powernv/eeh-ioda.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/powernv/eeh-ioda.c b/arch/powerpc/platforms/powernv/eeh-ioda.c
index a93c73b6d9454c..ff93f41c78557b 100644
--- a/arch/powerpc/platforms/powernv/eeh-ioda.c
+++ b/arch/powerpc/platforms/powernv/eeh-ioda.c
@@ -818,12 +818,12 @@ static int ioda_eeh_next_error(struct eeh_pe **pe)
* it again.
*/
if (ioda_eeh_get_pe(hose, frozen_pe_no, pe)) {
- *pe = phb_pe;
- pr_err("EEH: Escalated fenced PHB#%x "
- "detected for PE#%llx\n",
- hose->global_number,
- frozen_pe_no);
- ret = EEH_NEXT_ERR_FENCED_PHB;
+ /* Try best to clear it */
+ pr_info("EEH: Clear non-existing PHB#%x-PE#%llx\n",
+ hose->global_number, frozen_pe_no);
+ opal_pci_eeh_freeze_clear(phb->opal_id, frozen_pe_no,
+ OPAL_EEH_ACTION_CLEAR_FREEZE_ALL);
+ ret = EEH_NEXT_ERR_NONE;
} else if ((*pe)->state & EEH_PE_ISOLATED) {
ret = EEH_NEXT_ERR_NONE;
} else {