diff options
author | MATTHEW I. HICKMAN <matthew.hickman@ibm.com> | 2019-09-18 16:42:13 -0500 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-09-27 12:46:08 -0500 |
commit | 746ec708f76a3e81145d18623ab5c535bd98f352 (patch) | |
tree | ab56cddf6d36f10a979df03b67ccaa3b216e96ec | |
parent | a2b260834429284487442f2241d821a4bbda7454 (diff) | |
download | talos-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.C | 8 | ||||
-rw-r--r-- | src/usr/isteps/nvdimm/nvdimmErrorLog.C | 2 |
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); } |