summaryrefslogtreecommitdiffstats
path: root/src/usr
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr')
-rw-r--r--src/usr/hwas/common/deconfigGard.C27
-rw-r--r--src/usr/targeting/common/xmltohb/attribute_types.xml3
-rw-r--r--src/usr/targeting/common/xmltohb/target_types.xml4
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>
OpenPOWER on IntegriCloud