summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfP9Mca.C
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2016-12-08 13:12:54 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2016-12-09 13:46:51 -0500
commit276ef3b2888634ac21a2bed2bf2c853f7687c1d5 (patch)
treebe5952ecd5b480b16cf0b2326e3b7ab582591c64 /src/usr/diag/prdf/plat/mem/prdfP9Mca.C
parent33311a98cae4fbabbf94483e27803d3cfdf74484 (diff)
downloadtalos-hostboot-276ef3b2888634ac21a2bed2bf2c853f7687c1d5.tar.gz
talos-hostboot-276ef3b2888634ac21a2bed2bf2c853f7687c1d5.zip
PRD: fixed error handling for getSlaveRanks()/getMasterRanks()
getSlaveRanks() calls getMasterRanks() for each DIMM select, which will assert if it does not find any master ranks on the DIMM select. The issue is that it is possible for only one of the DIMM selects to have configured ranks. So the code will assert when getSlaveRanks() iterates on the non-configured DIMM select. Change-Id: I233a5cbf6ac8df2f64a0ab4ea153e3d0d93bfc4a Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33612 Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33643 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfP9Mca.C')
-rw-r--r--src/usr/diag/prdf/plat/mem/prdfP9Mca.C3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfP9Mca.C b/src/usr/diag/prdf/plat/mem/prdfP9Mca.C
index 97b966acc..4a1f69b7d 100644
--- a/src/usr/diag/prdf/plat/mem/prdfP9Mca.C
+++ b/src/usr/diag/prdf/plat/mem/prdfP9Mca.C
@@ -81,6 +81,7 @@ int32_t RcdParityError( ExtensibleChip * i_mcaChip,
std::vector<MemRank> list;
getSlaveRanks<TYPE_MCA>( i_mcaChip->getTrgt(), list );
+ PRDF_ASSERT( !list.empty() ); // target configured with no ranks
for ( auto & r : list )
{
@@ -88,7 +89,7 @@ int32_t RcdParityError( ExtensibleChip * i_mcaChip,
uint32_t rc = mcbdb->getTdCtlr()->handleTdEvent( io_sc, entry );
if ( SUCCESS != rc )
{
- PRDF_ERR( PRDF_FUNC "handleTdEvent(m%ds%s) failed on 0x%08x",
+ PRDF_ERR( PRDF_FUNC "handleTdEvent() failed on 0x%08x",
i_mcaChip->getHuid() );
continue; // Try the other ranks.
OpenPOWER on IntegriCloud