diff --git a/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C b/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C index 8a69371a16c..7ad661b8f28 100644 --- a/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C +++ b/src/import/chips/p9/procedures/hwp/memory/p9_mss_draminit_training.C @@ -38,6 +38,7 @@ #include #include +#include #include #include @@ -191,8 +192,12 @@ extern "C" // bits for a cal failure. We'll return the proper ReturnCode so all we need to do is FAPI_TRY. FAPI_TRY( mss::ccs::execute(i_target, l_program, p) ); - // Modifies the training steps, based upon workarounds - adding this here so it always gets run - FAPI_TRY( mss::workarounds::dp16::modify_calibration_results( p ) ); + // Modifies the training steps, based upon workarounds - only do this if we've run coarse_rd or coarse_wr + if (l_cal_steps_enabled.getBit() || + l_cal_steps_enabled.getBit()) + { + FAPI_TRY( mss::workarounds::dp16::modify_calibration_results( p ) ); + } // If we're aborting on error we can just FAPI_TRY. If we're not, we don't want to exit if there's // an error but we want to log the error and keep on keeping on.