summaryrefslogtreecommitdiffstats
path: root/src/usr/initservice
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2018-03-09 15:18:18 -0600
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-03-12 12:39:37 -0400
commit586b8b1e6088353e34358658ddaad2e15a2e6cf0 (patch)
treee3136d5a1854c781d2fb709926d2a08d4760da5c /src/usr/initservice
parent48d464158bc349eee52abc41eb40239424652188 (diff)
downloadtalos-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')
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C16
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
OpenPOWER on IntegriCloud