PEL: Don't bootblock on recovered PELs
PELs with a severity of 'Recovered' (0x10) do not need to block boots in
manufacturing.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I6b1c00d2c148fa61f5920e44ff3939c1e71400d7
diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index 80687a9..3a3b6a3 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -595,10 +595,13 @@
void Manager::checkPelAndQuiesce(std::unique_ptr<openpower::pels::PEL>& pel)
{
- if (pel->userHeader().severity() ==
- static_cast<uint8_t>(SeverityType::nonError))
+ if ((pel->userHeader().severity() ==
+ static_cast<uint8_t>(SeverityType::nonError)) ||
+ (pel->userHeader().severity() ==
+ static_cast<uint8_t>(SeverityType::recovered)))
{
- log<level::DEBUG>("PEL severity informational. no quiesce needed");
+ log<level::DEBUG>(
+ "PEL severity informational or recovered. no quiesce needed");
return;
}
if (!_logManager.isQuiesceOnErrorEnabled())
@@ -610,8 +613,9 @@
// Now check if it has any type of callout
if (pel->isCalloutPresent())
{
- log<level::INFO>("QuiesceOnHwError enabled, PEL severity not nonError, "
- "and callout is present");
+ log<level::INFO>(
+ "QuiesceOnHwError enabled, PEL severity not nonError or recovered, "
+ "and callout is present");
_logManager.quiesceOnError(pel->obmcLogID());
}
diff --git a/extensions/openpower-pels/manager.hpp b/extensions/openpower-pels/manager.hpp
index 2354319..c9d05f8 100644
--- a/extensions/openpower-pels/manager.hpp
+++ b/extensions/openpower-pels/manager.hpp
@@ -321,8 +321,8 @@
* @brief Check if the input PEL should cause a quiesce of the system
*
* If QuiesceOnHwError is enabled within phosphor-settings and the PEL
- * from the host has a severity which is not SeverityType::nonError then
- * execute the quiesce and boot block logic.
+ * from the host has a severity which is not SeverityType::nonError or
+ * recovered then execute the quiesce and boot block logic.
*
* @param[in] pel - The PEL to check
*/