diff options
author | Ani Bagepalli <abagepa@us.ibm.com> | 2014-10-29 09:37:39 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-12-03 08:20:09 -0600 |
commit | 6917afadcdea9e5761319c6f5d4d259563c4a6ef (patch) | |
tree | 53436ce9e0887f824a2d22d91043fbec7379fe89 /src/usr/diag | |
parent | fab5b85fe78df6588102fa3e46bd6de556a2c6ed (diff) | |
download | talos-hostboot-6917afadcdea9e5761319c6f5d4d259563c4a6ef.tar.gz talos-hostboot-6917afadcdea9e5761319c6f5d4d259563c4a6ef.zip |
add IPMI Watchdog Timer
Change-Id: I4617f5b545a3fc193e62fb7cfdf0292b394871c2
RTC: 108832
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/14232
Reviewed-by: Christopher T. Phan <cphan@us.ibm.com>
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Tested-by: Jenkins Server
Diffstat (limited to 'src/usr/diag')
-rw-r--r-- | src/usr/diag/mdia/mdiasm.C | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/usr/diag/mdia/mdiasm.C b/src/usr/diag/mdia/mdiasm.C index eeefd3b05..d6846ff18 100644 --- a/src/usr/diag/mdia/mdiasm.C +++ b/src/usr/diag/mdia/mdiasm.C @@ -43,6 +43,8 @@ #include <targeting/common/utilFilter.H> #include <errl/errludlogregister.H> #include <initservice/istepdispatcherif.H> +#include <ipmi/ipmiwatchdog.H> +#include <config.h> using namespace TARGETING; using namespace ERRORLOG; @@ -1117,10 +1119,22 @@ bool StateMachine::processMaintCommandEvent(const MaintCommandEvent & i_event) eventType = SKIP_MBA; } - switch(eventType) +#ifdef CONFIG_BMC_IPMI + // Reset the watchdog timer after running each pattern + errlHndl_t err_ipmi = IPMIWATCHDOG::resetWatchDogTimer(); + + if(err_ipmi) { - case COMMAND_COMPLETE: + MDIA_FAST("sm executeWorkitem: IPMI reset watchdog failed"); + err_ipmi->collectTrace("MDIA_FAST",1024); + errlCommit(err_ipmi, MDIA_COMP_ID ); + + } +#endif + switch(eventType) + case COMMAND_COMPLETE: + { // command stopped or complete at end of last rank wfp.restartCommand = false; @@ -1129,13 +1143,13 @@ bool StateMachine::processMaintCommandEvent(const MaintCommandEvent & i_event) ++wfp.workItem; + // done with this maint command flags = DELETE_CMD | START_NEXT_CMD; wfp.data = NULL; break; - case COMMAND_STOPPED: // command stopped at end of some other rank |