summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/common/plat/prdfRasServices_common.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/diag/prdf/common/plat/prdfRasServices_common.C')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/prdfRasServices_common.C21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/usr/diag/prdf/common/plat/prdfRasServices_common.C b/src/usr/diag/prdf/common/plat/prdfRasServices_common.C
index 3f9ba2322..2742286b3 100755
--- a/src/usr/diag/prdf/common/plat/prdfRasServices_common.C
+++ b/src/usr/diag/prdf/common/plat/prdfRasServices_common.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2018 */
+/* Contributors Listed Below - COPYRIGHT 2016,2019 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -891,12 +891,21 @@ void ErrDataService::deallocateDimms( const SDC_MRU_LIST & i_mruList )
for ( SDC_MRU_LIST::const_iterator it = i_mruList.begin();
it != i_mruList.end(); ++it )
{
+
PRDcallout thiscallout = it->callout;
if ( PRDcalloutData::TYPE_TARGET == thiscallout.getType() )
{
TargetHandle_t calloutTgt = thiscallout.getTarget();
TYPE tgtType = getTargetType( calloutTgt );
+ #ifdef CONFIG_NVDIMM
+ // If the MRU's gard policy is set to NO_GARD, skip it.
+ if ( NO_GARD == it->gardState && isNVDIMM(calloutTgt) )
+ {
+ continue;
+ }
+ #endif
+
if ( TYPE_L4 == tgtType )
{
calloutTgt = getConnectedParent( calloutTgt, TYPE_MEMBUF );
@@ -932,7 +941,17 @@ void ErrDataService::deallocateDimms( const SDC_MRU_LIST & i_mruList )
dimm != dimms.end(); ++dimm )
{
if ( TYPE_DIMM == getTargetType(*dimm) )
+ {
+ #ifdef CONFIG_NVDIMM
+ // If the MRU's gard policy is set to NO_GARD, skip it.
+ if ( NO_GARD == it->gardState && isNVDIMM(*dimm) )
+ {
+ continue;
+ }
+ #endif
+
dimmList.push_back(*dimm);
+ }
}
}
}
OpenPOWER on IntegriCloud