summaryrefslogtreecommitdiffstats
path: root/src/sbefw/app/power/sbecmdflushnvdimm.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/sbefw/app/power/sbecmdflushnvdimm.C')
-rw-r--r--src/sbefw/app/power/sbecmdflushnvdimm.C10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/sbefw/app/power/sbecmdflushnvdimm.C b/src/sbefw/app/power/sbecmdflushnvdimm.C
index c551cbca..9159676b 100644
--- a/src/sbefw/app/power/sbecmdflushnvdimm.C
+++ b/src/sbefw/app/power/sbecmdflushnvdimm.C
@@ -34,6 +34,7 @@
#include "sbeFifoMsgUtils.H"
#include "nvdimm_workarounds.H"
#include "sbecmdflushnvdimm.H"
+#include "sbecmdcntlinst.H"
using namespace fapi2;
@@ -66,6 +67,15 @@ uint32_t sbeHandleFlushNVDIMM(uint8_t *i_pArg)
rc = sbeUpFifoDeq_mult (len, NULL);
CHECK_SBE_RC_AND_BREAK_IF_NOT_SUCCESS(rc);
+ fapiRc = stopAllCoreInstructions();
+ if( fapiRc != FAPI2_RC_SUCCESS )
+ {
+ SBE_ERROR(SBE_FUNC "stop all core instructions was failed");
+ respHdr.setStatus( SBE_PRI_GENERIC_EXECUTION_FAILURE,
+ SBE_SEC_HWP_FAILURE);
+ ffdc.setRc(fapiRc);
+ break;
+ }
fapiRc = flushNVDIMM();
if( fapiRc != FAPI2_RC_SUCCESS )
{
OpenPOWER on IntegriCloud