summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-05-14 21:57:26 -0500
committerZane C. Shelley <zshelle@us.ibm.com>2018-05-18 10:39:37 -0400
commit1b04e458595a9e9c5c04dd322f90d4c44129e111 (patch)
treec70c6c2c35632c604d7d3c359118964c9fbcc948 /src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
parentc1c584f04be0bb7b1340d013b9b9d6147ffa2960 (diff)
downloadtalos-hostboot-1b04e458595a9e9c5c04dd322f90d4c44129e111.tar.gz
talos-hostboot-1b04e458595a9e9c5c04dd322f90d4c44129e111.zip
PRD: support to determine if BG scrub can resume after stop-on-error
Change-Id: Ie2179b66bbe77ef1b982a6dfb1750734d6a9cc23 RTC: 192638 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58811 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: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59012 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-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.C17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
index 906b40d0c..cad88c66c 100644
--- a/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
+++ b/src/usr/diag/prdf/plat/mem/prdfMemTdCtlr.C
@@ -348,21 +348,18 @@ uint32_t MemTdCtlr<T>::analyzeCmdComplete( bool & o_errorsFound,
if ( iv_queue.empty() )
{
// The queue is empty so it is possible that background scrubbing
- // only stopped for FFDC. Simply resume the command instead of
- // starting a new one. Note that it is possible to get here if we
- // were running a TD procedure and the PRD service is reset.
- // Therefore, we must check if background scrubbing was actually
- // configured.
- bool isBgScrub;
- o_rc = isBgScrubConfig<T>( iv_chip, isBgScrub );
+ // only stopped for FFDC. If possible, simply resume the command
+ // instead of starting a new one. This must be checked here instead
+ // of in defaultStep() because a TD procedure could have been run
+ // before defaultStep() and it is possible that canResumeBgScrub()
+ // could give as a false positive in that case.
+ o_rc = canResumeBgScrub( iv_resumeBgScrub );
if ( SUCCESS != o_rc )
{
- PRDF_ERR( PRDF_FUNC "isBgScrubConfig(0x%08x) failed",
+ PRDF_ERR( PRDF_FUNC "canResumeBgScrub(0x%08x) failed",
iv_chip->getHuid() );
break;
}
-
- if ( isBgScrub ) iv_resumeBgScrub = true;
}
else
{
OpenPOWER on IntegriCloud