summaryrefslogtreecommitdiffstats
path: root/src/usr/htmgt
diff options
context:
space:
mode:
authorIlya Smirnov <ismirno@us.ibm.com>2018-02-21 14:38:29 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-02-23 11:04:10 -0500
commita681d519d4dc3d01b14df22ffa79c4e6bcfdec96 (patch)
tree11b75e83a4dce3ba598806a01c2f437cb76a59db /src/usr/htmgt
parent55e51a61f98564b86be3a34b0fccff2689a28f29 (diff)
downloadtalos-hostboot-a681d519d4dc3d01b14df22ffa79c4e6bcfdec96.tar.gz
talos-hostboot-a681d519d4dc3d01b14df22ffa79c4e6bcfdec96.zip
Pass i_skipComm to _buildOccs
In the _resetOccs path the i_skipComm parameter is not getting passed into _buildOccs function that (almost) unconditionally executes sendOccPoll, regardless of whether the comm was supposed to be skipped or not. That 1) defeats the purpose of i_skipComm, and 2) may not work in the OCC reset path depending on how far into OCC setup the code has gotten before the reset was requested. Change-Id: I044e1193d8ddf022ada902030c74c75076af2f42 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/54522 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: Marshall J. Wilks <mjwilks@us.ibm.com> Reviewed-by: Christopher J. Cain <cjcain@us.ibm.com> Reviewed-by: Andres A. Lugo-Reyes <aalugore@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/htmgt')
-rw-r--r--src/usr/htmgt/htmgt_occ.C13
-rw-r--r--src/usr/htmgt/htmgt_occ.H10
2 files changed, 15 insertions, 8 deletions
diff --git a/src/usr/htmgt/htmgt_occ.C b/src/usr/htmgt/htmgt_occ.C
index d19fb952e..28f862a04 100644
--- a/src/usr/htmgt/htmgt_occ.C
+++ b/src/usr/htmgt/htmgt_occ.C
@@ -441,7 +441,8 @@ namespace HTMGT
// Query the functional OCCs and build OCC objects
- errlHndl_t OccManager::_buildOccs(const bool i_occStart)
+ errlHndl_t OccManager::_buildOccs(const bool i_occStart,
+ const bool i_skipComm)
{
errlHndl_t err = nullptr;
bool safeModeNeeded = false;
@@ -591,7 +592,8 @@ namespace HTMGT
safeModeNeeded = true;
}
- if ((false == i_occStart) && (nullptr == err))
+ if ((false == i_occStart) && (nullptr == err) &&
+ (false == i_skipComm))
{
// Send poll to query state of all OCCs
// and flush any errors reported by the OCCs
@@ -870,7 +872,7 @@ namespace HTMGT
errlHndl_t err = nullptr;
bool atThreshold = false;
- err = _buildOccs(); // if not a already built.
+ err = _buildOccs(false, i_skipComm); // if not a already built.
if (nullptr == err)
{
if (false == int_flags_set(FLAG_RESET_DISABLED))
@@ -1502,9 +1504,10 @@ namespace HTMGT
}
- errlHndl_t OccManager::buildOccs(const bool i_occStart)
+ errlHndl_t OccManager::buildOccs(const bool i_occStart, bool i_skipComm)
{
- return Singleton<OccManager>::instance()._buildOccs(i_occStart);
+ return Singleton<OccManager>::instance()._buildOccs(i_occStart,
+ i_skipComm);
}
diff --git a/src/usr/htmgt/htmgt_occ.H b/src/usr/htmgt/htmgt_occ.H
index fb439672d..40f564fcf 100644
--- a/src/usr/htmgt/htmgt_occ.H
+++ b/src/usr/htmgt/htmgt_occ.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014,2017 */
+/* Contributors Listed Below - COPYRIGHT 2014,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -453,9 +453,12 @@ namespace HTMGT
*
* @param[in] i_occStart true if call is being made after
* OCCs have just been started.
+ * @param[in] i_skipComm true if sendOccPoll should not
+ * be called
* @return NULL on success, or error handle on failure
*/
- static errlHndl_t buildOccs(const bool i_occStart = false);
+ static errlHndl_t buildOccs(bool i_occStart = false,
+ bool i_skipComm = false);
/**
@@ -687,7 +690,8 @@ namespace HTMGT
/* See buildOccs() above */
- errlHndl_t _buildOccs(const bool i_occStart = false);
+ errlHndl_t _buildOccs(bool i_occStart = false,
+ bool i_skipComm = false);
/* See getNumOccs() above */
OpenPOWER on IntegriCloud