diff options
author | Dan Crowell <dcrowell@us.ibm.com> | 2018-03-09 15:18:18 -0600 |
---|---|---|
committer | William G. Hoffa <wghoffa@us.ibm.com> | 2018-03-12 12:39:37 -0400 |
commit | 586b8b1e6088353e34358658ddaad2e15a2e6cf0 (patch) | |
tree | e3136d5a1854c781d2fb709926d2a08d4760da5c /src/usr/initservice/istepdispatcher | |
parent | 48d464158bc349eee52abc41eb40239424652188 (diff) | |
download | talos-hostboot-586b8b1e6088353e34358658ddaad2e15a2e6cf0.tar.gz talos-hostboot-586b8b1e6088353e34358658ddaad2e15a2e6cf0.zip |
Do not elevate severity of reconfig error log
The code as currently written will elevate the severity of any
log that is used to terminate the hostboot ipl. In most cases
this is the correct behavior as we always want a visible log.
However, there are cases where hostboot terminates for the sole
purpose of triggering a reconfig loop via the FSP in order to
recover from a recoverable hardware issue. In this case the log
shouldn't be visible since we don't want the customer to take
any actions.
The fix is to add a little bit of logic to differentiate these
two scenarios to control the severity setting.
Change-Id: I7253aec8c28a40c5cdebf4933ceccbecd119b9f4
CQ: SW420495
Backport: yes
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/55379
CI-Ready: Nicholas E. Bofferding <bofferdn@us.ibm.com>
CI-Ready: Daniel M. Crowell <dcrowell@us.ibm.com>
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: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/initservice/istepdispatcher')
-rw-r--r-- | src/usr/initservice/istepdispatcher/istepdispatcher.C | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C index db92b1b31..56be31a44 100644 --- a/src/usr/initservice/istepdispatcher/istepdispatcher.C +++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C @@ -449,6 +449,9 @@ errlHndl_t IStepDispatcher::executeAllISteps() uint32_t numReconfigs = 0; bool l_manufacturingMode = false; + // We are terminating in order to trigger a reconfig loop on the FSP + bool l_termToReconfig = false; + // soft reconfig loops happen really fast // and since for scale-out systems it only happens for istep 7 // there is no significant max time delay to recover the system @@ -634,6 +637,7 @@ errlHndl_t IStepDispatcher::executeAllISteps() // Return an error to cause termination on FSP systems if (iv_spBaseServicesEnabled) { + l_termToReconfig = true; err = failedDueToDeconfig(istep, substep, newIstep, newSubstep); } @@ -781,10 +785,15 @@ errlHndl_t IStepDispatcher::executeAllISteps() if (err) { - // Ensure severity reflects IPL will be terminated - if (err->sev() != ERRORLOG::ERRL_SEV_CRITICAL_SYS_TERM) + // If we are terminating the IPL to force a reconfig loop on the + // FSP then leave the severity alone + if( !l_termToReconfig ) { - err->setSev(ERRORLOG::ERRL_SEV_UNRECOVERABLE); + // Ensure severity reflects IPL will be terminated + if (err->sev() != ERRORLOG::ERRL_SEV_CRITICAL_SYS_TERM) + { + err->setSev(ERRORLOG::ERRL_SEV_UNRECOVERABLE); + } } break; } @@ -2650,7 +2659,6 @@ errlHndl_t IStepDispatcher::failedDueToDeconfig( /*@ * @errortype * @reasoncode ISTEP_FAILED_DUE_TO_DECONFIG - * @severity ERRORLOG::ERRL_SEV_INFORMATIONAL * @moduleid ISTEP_INITSVC_MOD_ID * @userdata1[00:15] Istep that failed * @userdata1[16:31] SubStep that failed |