summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMATTHEW I. HICKMAN <matthew.hickman@ibm.com>2019-09-18 16:42:13 -0500
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-09-27 12:46:08 -0500
commit746ec708f76a3e81145d18623ab5c535bd98f352 (patch)
treeab56cddf6d36f10a979df03b67ccaa3b216e96ec
parenta2b260834429284487442f2241d821a4bbda7454 (diff)
downloadtalos-hostboot-746ec708f76a3e81145d18623ab5c535bd98f352.tar.gz
talos-hostboot-746ec708f76a3e81145d18623ab5c535bd98f352.zip
Fixed the restore status flag bug
Change-Id: Ia3c7b138964a7b09bb258c1539f7d9c9d957a69d CQ:SW475473 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/83981 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/usr/isteps/nvdimm/nvdimm.C8
-rw-r--r--src/usr/isteps/nvdimm/nvdimmErrorLog.C2
2 files changed, 6 insertions, 4 deletions
diff --git a/src/usr/isteps/nvdimm/nvdimm.C b/src/usr/isteps/nvdimm/nvdimm.C
index a4c5f1b91..3f1962e77 100644
--- a/src/usr/isteps/nvdimm/nvdimm.C
+++ b/src/usr/isteps/nvdimm/nvdimm.C
@@ -1768,7 +1768,7 @@ void nvdimm_restore(TargetHandleList &i_nvdimmList)
errlHndl_t l_err = nullptr;
bool l_valid = false;
- bool l_exit = false;
+ bool l_continue = true;
TARGETING::Target* l_sys = nullptr;
TARGETING::targetService().getTopLevelTarget( l_sys );
assert(l_sys, "nvdimm_restore: no TopLevelTarget");
@@ -1865,13 +1865,15 @@ void nvdimm_restore(TargetHandleList &i_nvdimmList)
// Check health status registers and exit if required
for (const auto & l_nvdimm : i_nvdimmList)
{
- l_err = nvdimmHealthStatusCheck( l_nvdimm, HEALTH_RESTORE, l_exit );
+ // Post restore health check. l_continue gets set per the health check logic
+ // and used later to determine if boot shall continue on error condition
+ l_err = nvdimmHealthStatusCheck( l_nvdimm, HEALTH_RESTORE, l_continue );
if (l_err)
{
TRACFCOMP(g_trac_nvdimm, ERR_MRK"nvdimm_restore() nvdimm[%X] failed during health status check", get_huid(l_nvdimm));
errlCommit( l_err, NVDIMM_COMP_ID );
- if (!l_exit)
+ if (!l_continue)
{
break;
}
diff --git a/src/usr/isteps/nvdimm/nvdimmErrorLog.C b/src/usr/isteps/nvdimm/nvdimmErrorLog.C
index ed5fe21c0..030410dca 100644
--- a/src/usr/isteps/nvdimm/nvdimmErrorLog.C
+++ b/src/usr/isteps/nvdimm/nvdimmErrorLog.C
@@ -493,7 +493,7 @@ bool nvdimmBPMCableCallout(Target *i_nvdimm, uint8_t i_step, errlHndl_t& o_err)
{
// Callout dimm, deconfig and gard
o_err->addHwCallout( i_nvdimm,
- HWAS::SRCI_PRIORITY_HIGH,
+ HWAS::SRCI_PRIORITY_LOW,
HWAS::DECONFIG,
HWAS::GARD_Fatal);
}
OpenPOWER on IntegriCloud