diff options
author | Zane Shelley <zshelle@us.ibm.com> | 2016-09-23 10:31:12 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2016-12-06 10:01:11 -0500 |
commit | d4077821a7b026fab75450add9e5ad1302df93c2 (patch) | |
tree | 5759bc4dba899870932319cee2325262d3b58fad /src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | |
parent | 9c8141ec796a5cc63ec70b71c5ab1d79a91ba922 (diff) | |
download | talos-hostboot-d4077821a7b026fab75450add9e5ad1302df93c2.tar.gz talos-hostboot-d4077821a7b026fab75450add9e5ad1302df93c2.zip |
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 <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/33079
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C | 15 |
1 files changed, 10 insertions, 5 deletions
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<T>::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. |