From d4077821a7b026fab75450add9e5ad1302df93c2 Mon Sep 17 00:00:00 2001 From: Zane Shelley Date: Fri, 23 Sep 2016 10:31:12 -0500 Subject: PRD: Add ECC checking for maint cmd complete attentions Change-Id: I195e96ef91f495cbbc0cef262b5a040b24179d3f RTC: 157892 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/32509 Tested-by: Jenkins Server Reviewed-by: Caleb N. Palmer Reviewed-by: Benjamin J. Weisenbeck Reviewed-by: Zane C. Shelley Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33079 Tested-by: FSP CI Jenkins --- src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C') diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C index 5c543ad79..6823e8254 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C @@ -83,16 +83,21 @@ uint32_t MemTdCtlr::handleCmdComplete( STEP_CODE_DATA_STRUCT & io_sc ) break; } - // TODO: RTC 157892 Check why the command stopped and take actions - // appropriately. Note that since nothing is happening here at - // the moment, the code will simply assume the command stopped - // at the end of memory with no errors. + // Then, check for ECC errors, if they exist. + bool errorsFound = false; + o_rc = checkEcc( errorsFound, io_sc ); + if ( SUCCESS != o_rc ) + { + PRDF_ERR( PRDF_FUNC "checkEcc(0x%08x) failed", + iv_chip->getHuid() ); + break; + } // If the command completed successfully with no error, the error // log will not have any useful information. Therefore, do not // commit the error log. This is done to avoid useless // informational error logs. - io_sc.service_data->setDontCommitErrl(); + if ( !errorsFound ) io_sc.service_data->setDontCommitErrl(); } // Move onto the next step in the state machine. -- cgit v1.2.1