summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2017-08-07 11:27:06 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2017-08-11 11:41:20 -0400
commit3e51462dade42ca3d52152d59b2b3b975d772d50 (patch)
treebbbbfcaf8187a37b36bca4d537dc0681600e4459 /src/usr/diag/prdf/plat/mem
parent4a73df3691b924e1a7a4d625c083db1d40f239fb (diff)
downloadtalos-hostboot-3e51462dade42ca3d52152d59b2b3b975d772d50.tar.gz
talos-hostboot-3e51462dade42ca3d52152d59b2b3b975d772d50.zip
PRD: infinite loop in VcmFalseAlarm::init()
Change-Id: I3aa05539fae4c185eb56287f821517f339fe405b CQ: SW397809 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44294 Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44472 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>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfMemTdFalseAlarm.H6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdFalseAlarm.H b/src/usr/diag/prdf/plat/mem/prdfMemTdFalseAlarm.H
index 9b497f8be..ae619c287 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTdFalseAlarm.H
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTdFalseAlarm.H
@@ -136,6 +136,8 @@ class TdFalseAlarm
/** Threshold for each entries in the map. */
const TimeBasedThreshold iv_th;
+ protected: // instance variables
+
/** A map containing the thresholds for each key. */
std::map<uint32_t, TimeBasedThreshold> iv_thMap;
};
@@ -200,7 +202,9 @@ class VcmFalseAlarm : public TdFalseAlarm
uint32_t key = initThMap( i_rank );
// Clear out the list of DRAMs if the threshold time has elapsed.
- if ( elapsed(i_rank, io_sc) ) iv_dramMap[key].clear();
+ // Note that we cannot call elapsed() because it will do a recursive
+ // call to init().
+ if ( iv_thMap[key].timeElapsed(io_sc) ) iv_dramMap[key].clear();
return key;
}
OpenPOWER on IntegriCloud