summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam A. Kennington III <wak@google.com>2018-05-08 16:18:57 -0700
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-05-19 18:16:25 -0400
commit9b9f654f0f6d3c73cbd58c5ee371b7ca5601284c (patch)
treec7f56fe6c5d58bfeb5f012b655d053e78833fb3f
parent2f1a0ed58a1b03eb7b2d08f20f68b498c593358d (diff)
downloadtalos-hostboot-9b9f654f0f6d3c73cbd58c5ee371b7ca5601284c.tar.gz
talos-hostboot-9b9f654f0f6d3c73cbd58c5ee371b7ca5601284c.zip
istepdispatcher: Reset the watchog to enable it
Performing a watchdog set command alone is not enough to re-enable the watchdog. In any instance where we want the watchdog to be running we need to issue a reset immediately after the set action to guarantee it was started. Resolves #137 Signed-off-by: William A. Kennington III <wak@google.com> Change-Id: I16b617cf26c9e6af8151ac415689a8c6956c6e11 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58547 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/usr/initservice/istepdispatcher/istepdispatcher.C22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/usr/initservice/istepdispatcher/istepdispatcher.C b/src/usr/initservice/istepdispatcher/istepdispatcher.C
index 0bcd0410b..4b65fa661 100644
--- a/src/usr/initservice/istepdispatcher/istepdispatcher.C
+++ b/src/usr/initservice/istepdispatcher/istepdispatcher.C
@@ -389,6 +389,17 @@ void IStepDispatcher::init(errlHndl_t &io_rtaskRetErrl)
errlCommit(err_ipmi, INITSVC_COMP_ID );
}
+
+ // Start the watchdog
+ err_ipmi = IPMIWATCHDOG::resetWatchDogTimer();
+ if(err_ipmi)
+ {
+ TRACFCOMP(g_trac_initsvc,
+ "init: ERROR: Starting IPMI watchdog Failed");
+ err_ipmi->collectTrace("INITSVC", 1024);
+ errlCommit(err_ipmi, INITSVC_COMP_ID );
+
+ }
#endif
// Non-IStep mode (run all isteps automatically)
@@ -2946,6 +2957,17 @@ void IStepDispatcher::istepPauseSet(uint8_t i_step, uint8_t i_substep)
errlCommit(err_ipmi, INITSVC_COMP_ID );
}
+
+ // Start the watchdog timer
+ err_ipmi = IPMIWATCHDOG::resetWatchDogTimer();
+ if(err_ipmi)
+ {
+ TRACFCOMP(g_trac_initsvc,
+ "init: ERROR: Start IPMI watchdog Failed");
+ err_ipmi->collectTrace("INITSVC", 1024);
+ errlCommit(err_ipmi, INITSVC_COMP_ID );
+
+ }
#endif
}
OpenPOWER on IntegriCloud