diff options
author | aravnair-in <aravindnair@in.ibm.com> | 2018-06-07 07:09:04 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-06-08 10:04:55 -0400 |
commit | 0c9579f525f4da84c037452b1a28fdf404d8dd4d (patch) | |
tree | fdff2740e3141211aae2d98e7dca45cc5472e1ce /src/usr | |
parent | 3e4082b28d2afb5341ea8a7a1dda642eb4461d53 (diff) | |
download | talos-hostboot-0c9579f525f4da84c037452b1a28fdf404d8dd4d.tar.gz talos-hostboot-0c9579f525f4da84c037452b1a28fdf404d8dd4d.zip |
Deconfig by association rule for SMPGROUP targets
If the two SMPGROUP targets under an OBUS target is deconfigured,
the parent OBUS target also needs to be deconfigured by
association.
Change-Id: Ifb0fcf46a8c65a2655eade04ae7035d228bca92b
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60093
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-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>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/hwas/common/deconfigGard.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C index ff83da430..5ccbe2040 100644 --- a/src/usr/hwas/common/deconfigGard.C +++ b/src/usr/hwas/common/deconfigGard.C @@ -2014,6 +2014,28 @@ void DeconfigGard::_deconfigureByAssoc( break; } // TYPE_NPU + case TYPE_SMPGROUP: + { + //OBUS with no good SMPGROUP should be de-configured + TargetHandleList pObusList; + getParentAffinityTargetsByState(pObusList, + &i_target, CLASS_UNIT, TYPE_OBUS, + UTIL_FILTER_PRESENT); + + HWAS_ASSERT((pObusList.size() == 1), + "HWAS _deconfigureByAssoc: pObusList != 1"); + Target *l_targetObus = pObusList[0]; + + if ((l_targetObus->getAttr<ATTR_OPTICS_CONFIG_MODE>() == + OPTICS_CONFIG_MODE_SMP) && + (!anyChildFunctional(*l_targetObus))) + { + _deconfigureTarget(*l_targetObus, i_errlEid, NULL, + i_deconfigRule); + } + + break; + } // TYPE_SMPGROUP default: // no action break; |