Check for OCC active before sending HRESET

HRESET should only be performed once the system is at runtime,
so check whether or not the OCC is active before requesting the
HRESET for that SBE.

Signed-off-by: Eddie James <eajames@linux.ibm.com>
Change-Id: Ia66e5b83ddc6159002a323d18ce4a56d06183ee7
diff --git a/occ_manager.cpp b/occ_manager.cpp
index 84d991a..ab86d4b 100644
--- a/occ_manager.cpp
+++ b/occ_manager.cpp
@@ -320,12 +320,20 @@
 #ifdef PLDM
 void Manager::sbeTimeout(unsigned int instance)
 {
-    log<level::INFO>("SBE timeout, requesting HRESET",
-                     entry("SBE=%d", instance));
+    auto obj = std::find_if(statusObjects.begin(), statusObjects.end(),
+                            [instance](const auto& obj) {
+                                return instance == obj->getOccInstanceID();
+                            });
 
-    setSBEState(instance, SBE_STATE_NOT_USABLE);
+    if (obj != statusObjects.end() && obj->occActive())
+    {
+        log<level::INFO>("SBE timeout, requesting HRESET",
+                         entry("SBE=%d", instance));
 
-    pldmHandle->sendHRESET(instance);
+        setSBEState(instance, SBE_STATE_NOT_USABLE);
+
+        pldmHandle->sendHRESET(instance);
+    }
 }
 
 bool Manager::updateOCCActive(instanceID instance, bool status)