summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason M. Bills <jason.m.bills@intel.com>2019-08-16 22:04:19 +0300
committerJason M. Bills <jason.m.bills@linux.intel.com>2019-09-06 03:12:31 +0300
commit7d0e6409f233d2706ab9ac6c837bdb2e15b3c4ce (patch)
tree99203ff87c4f7a5b22ad2069d6d0ea2c52f72351
parent3de7fa0c8477d94dfd7bcbf81b079cb89eba19e3 (diff)
downloadprovingground-7d0e6409f233d2706ab9ac6c837bdb2e15b3c4ce.tar.xz
Handle SSBThermTrip events on startup
Add support for SSBThermTrip to the error initialization so it will be logged if the signal is asserted when the monitor starts. Tested: Verified that SSBThermtrip behaves the same as previously. Change-Id: I713641b48659c82c21ba5d20050d7d8c27f6c120 Signed-off-by: Jason M. Bills <jason.m.bills@intel.com>
-rw-r--r--host_error_monitor/src/host_error_monitor.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/host_error_monitor/src/host_error_monitor.cpp b/host_error_monitor/src/host_error_monitor.cpp
index 7454a2d..95def48 100644
--- a/host_error_monitor/src/host_error_monitor.cpp
+++ b/host_error_monitor/src/host_error_monitor.cpp
@@ -106,6 +106,13 @@ static void smiTimeoutLog()
"REDFISH_MESSAGE_ARGS=%s", "SMI Timeout", NULL);
}
+static void ssbThermTripLog()
+{
+ sd_journal_send("MESSAGE=HostError: SSB thermal trip", "PRIORITY=%i",
+ LOG_INFO, "REDFISH_MESSAGE_ID=%s",
+ "OpenBMC.0.1.SsbThermalTrip", NULL);
+}
+
static void initializeErrorState();
static void initializeHostState()
{
@@ -640,11 +647,7 @@ static void pchThermtripHandler()
gpioLineEvent.event_type == gpiod::line_event::FALLING_EDGE;
if (pchThermtrip)
{
- std::cout << "PCH Thermal trip detected \n";
- // log to redfish, call API
- sd_journal_send("MESSAGE=SsbThermalTrip: SSB Thermal trip",
- "PRIORITY=%i", LOG_INFO, "REDFISH_MESSAGE_ID=%s",
- "OpenBMC.0.1.SsbThermalTrip", NULL);
+ ssbThermTripLog();
}
}
pchThermtripEvent.async_wait(
@@ -906,6 +909,12 @@ static void initializeErrorState()
{
smiAssertHandler();
}
+
+ // Handle PCH_BMC_THERMTRIP if it's asserted now
+ if (pchThermtripLine.get_value() == 0)
+ {
+ ssbThermTripLog();
+ }
}
} // namespace host_error_monitor