diff options
Diffstat (limited to 'src/usr')
-rw-r--r-- | src/usr/hwas/common/deconfigGard.C | 27 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/attribute_types.xml | 3 | ||||
-rw-r--r-- | src/usr/targeting/common/xmltohb/target_types.xml | 4 |
3 files changed, 15 insertions, 19 deletions
diff --git a/src/usr/hwas/common/deconfigGard.C b/src/usr/hwas/common/deconfigGard.C index 79834308e..e2a21bf9b 100644 --- a/src/usr/hwas/common/deconfigGard.C +++ b/src/usr/hwas/common/deconfigGard.C @@ -739,6 +739,9 @@ void DeconfigGard::_deconfigureByAssoc(Target & i_target, TargetHandleList pChildList; PredicateIsFunctional isFunctional; + // note - ATTR_DECONFIG_GARDABLE is NOT checked for all 'by association' + // deconfigures, as that attribute is only for direct deconfigure requests. + // find all CHILD matches for this target and deconfigure them targetService().getAssociated(pChildList, &i_target, TargetService::CHILD, TargetService::ALL, &isFunctional); @@ -748,14 +751,10 @@ void DeconfigGard::_deconfigureByAssoc(Target & i_target, { TargetHandle_t pChild = *pChild_it; - if (pChild->getAttr<ATTR_DECONFIG_GARDABLE>()) - { // only deconfigure targets that are able to be deconfigured - HWAS_INF("deconfigByAssoc CHILD: %.8X", - get_huid(pChild)); - _deconfigureTarget(*pChild, i_errlPlid); - // Deconfigure other Targets by association - _deconfigureByAssoc(*pChild, i_errlPlid); - } + HWAS_INF("deconfigByAssoc CHILD: %.8X", get_huid(pChild)); + _deconfigureTarget(*pChild, i_errlPlid); + // Deconfigure other Targets by association + _deconfigureByAssoc(*pChild, i_errlPlid); } // for CHILD // find all CHILD_BY_AFFINITY matches for this target and deconfigure them @@ -767,14 +766,10 @@ void DeconfigGard::_deconfigureByAssoc(Target & i_target, { TargetHandle_t pChild = *pChild_it; - if (pChild->getAttr<ATTR_DECONFIG_GARDABLE>()) - { // only deconfigure targets that are able to be deconfigured - HWAS_INF("deconfigByAssoc CHILD_BY_AFFINITY: %.8X", - get_huid(pChild)); - _deconfigureTarget(*pChild, i_errlPlid); - // Deconfigure other Targets by association - _deconfigureByAssoc(*pChild, i_errlPlid); - } + HWAS_INF("deconfigByAssoc CHILD_BY_AFFINITY: %.8X", get_huid(pChild)); + _deconfigureTarget(*pChild, i_errlPlid); + // Deconfigure other Targets by association + _deconfigureByAssoc(*pChild, i_errlPlid); } // for CHILD_BY_AFFINITY // Memory deconfigureByAssociation rules diff --git a/src/usr/targeting/common/xmltohb/attribute_types.xml b/src/usr/targeting/common/xmltohb/attribute_types.xml index c38fa1282..20951ce64 100644 --- a/src/usr/targeting/common/xmltohb/attribute_types.xml +++ b/src/usr/targeting/common/xmltohb/attribute_types.xml @@ -980,7 +980,8 @@ <attribute> <id>DECONFIG_GARDABLE</id> - <description>If the Target is Deconfigurable and GARDable</description> + <description>If the Target is directly deconfigurable and GARDable; target + may still be deconfigured in 'by association' processing.</description> <simpleType> <uint8_t> <default>0</default> diff --git a/src/usr/targeting/common/xmltohb/target_types.xml b/src/usr/targeting/common/xmltohb/target_types.xml index 54eaf3618..6d8d78e9c 100644 --- a/src/usr/targeting/common/xmltohb/target_types.xml +++ b/src/usr/targeting/common/xmltohb/target_types.xml @@ -578,9 +578,9 @@ <id>TYPE</id> <default>CORE</default> </attribute> - <attribute><id>DECONFIG_GARDABLE</id><default>1</default></attribute> + <attribute><id>DECONFIG_GARDABLE</id><default>0</default></attribute> <attribute><id>HWAS_STATE_CHANGED_SUBSCRIPTION_MASK</id> - <default>0x00000001</default> <!--GARD --> + <default>0x00000000</default> </attribute> </targetType> |