summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
authorMatt Derksen <v2cibmd@us.ibm.com>2016-11-14 09:10:39 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-11-17 17:33:18 -0500
commite2ecb478ef40201550aa8b6787bc730f8263f42a (patch)
treebc21a644a087306a5f3b6e4cd085af83c68bd9a1 /src/usr
parente118b79cec102a9a9973e4007868789684454cc3 (diff)
downloadtalos-hostboot-e2ecb478ef40201550aa8b6787bc730f8263f42a.tar.gz
talos-hostboot-e2ecb478ef40201550aa8b6787bc730f8263f42a.zip
Do not automatically clear manually garded records
istep host_gard calls clearGardRecordsForReplacedTargets and this needs to avoid clearing the manually garded records Change-Id: Ic4dd52adb6cc3bc9041ffdd6c3d5719bd01f5df1 CQ: SW370258 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32721 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/hwas/common/deconfigGard.C21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C
index 028839351..34a146bb9 100644
--- a/src/usr/hwas/common/deconfigGard.C
+++ b/src/usr/hwas/common/deconfigGard.C
@@ -226,7 +226,6 @@ errlHndl_t DeconfigGard::clearGardRecordsForReplacedTargets()
continue;
}
-
// if target is unchanged, continue to next in loop
if (l_predicateHwasChanged(l_pTarget) == false)
{
@@ -235,6 +234,15 @@ errlHndl_t DeconfigGard::clearGardRecordsForReplacedTargets()
continue;
}
+ // if record is USER garded then don't clear it here and
+ // continue to next in loop
+ if (l_gardRecord.iv_errorType == GARD_User_Manual)
+ {
+ HWAS_INF("skipping %.8X - GARD user manual",
+ get_huid(l_pTarget));
+ continue;
+ }
+
// we have made it this far so we know the target has changed
// requiring its gard record to be cleared and eid stored
// Clear the gard record
@@ -286,6 +294,16 @@ errlHndl_t DeconfigGard::clearGardRecordsForReplacedTargets()
continue;
}
+ if (l_gardRecord.iv_errorType == GARD_User_Manual)
+ {
+ // do not clear user garded records
+ HWAS_INF("Still skipping USER garded record %08X",
+ get_huid(l_pTarget));
+
+ // skip this GARD record
+ continue;
+ }
+
// Compare the current GARD record against all the stored
// EIDs from the first pass. If there is a match,
// clear the GARD record.
@@ -320,6 +338,7 @@ errlHndl_t DeconfigGard::clearGardRecordsForReplacedTargets()
++t_iter)
{
Target* l_pTarget = *t_iter;
+
if (l_predicateHwasChanged(l_pTarget))
{
clear_hwas_changed_bit(l_pTarget,HWAS_CHANGED_BIT_GARD);
OpenPOWER on IntegriCloud