summaryrefslogtreecommitdiffstats
path: root/src/usr/util/runtime/rt_fwnotify.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/util/runtime/rt_fwnotify.C')
-rw-r--r--src/usr/util/runtime/rt_fwnotify.C20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/usr/util/runtime/rt_fwnotify.C b/src/usr/util/runtime/rt_fwnotify.C
index f8b8d6fe2..6f9a02cbc 100644
--- a/src/usr/util/runtime/rt_fwnotify.C
+++ b/src/usr/util/runtime/rt_fwnotify.C
@@ -132,19 +132,15 @@ void sbeAttemptRecovery(uint64_t i_data)
break;
}
-
- // Get the recovery results
- // TODO SW415675 Need to attempt sbe retry if requested
// Get the SBE Retry Handler, propagating the supplied PLID
-// SbeRetryHandler l_SBEobj = SbeRetryHandler(SbeRetryHandler::
-// SBE_MODE_OF_OPERATION::INFORMATIONAL_ONLY,
-// l_sbeRetryData->plid);
+ SbeRetryHandler l_SBEobj = SbeRetryHandler(SbeRetryHandler::
+ SBE_MODE_OF_OPERATION::ATTEMPT_REBOOT,
+ l_sbeRetryData->plid);
+
+ //Attempt to recover the SBE
+ l_SBEobj.main_sbe_handler(l_target);
- // Retry the recovery of the SBE
-// l_SBEobj.main_sbe_handler(l_target);
-// //bool l_recoverySuccessful = l_SBEobj.getSbeRestart();
- bool l_recoverySuccessful = false;
if (nullptr == g_hostInterfaces ||
nullptr == g_hostInterfaces->firmware_request)
{
@@ -183,8 +179,8 @@ void sbeAttemptRecovery(uint64_t i_data)
l_req_fw_msg.generic_msg.__req = GenericFspMboxMessage_t::REQUEST;
l_req_fw_msg.generic_msg.data = i_data;
- // Set msgType based on recovery success or failure
- if (l_recoverySuccessful)
+ // Set msgType based on recovery success or failure (If sbe made it back to runtime)
+ if (l_SBEobj.isSbeAtRuntime())
{
l_req_fw_msg.generic_msg.msgType =
GenericFspMboxMessage_t::MSG_SBE_RECOVERY_SUCCESS;
OpenPOWER on IntegriCloud