monitor - Run fan status/health change after sensors updated
A bug was found when removing a fan and replugging it that the shutdown
counters would not reset causing the system to shutdown after additional
fans are removed/replugged. This was caused by the fan status/health was
being updated prior to the fan and its sensor's functional states being
updated. Having the fan status/health updated after the fan and its
sensor's functional states updated provides the correct state to the
shutdown rules.
Change-Id: I61957dcd43e59ac672b04f3d893339b5f512e718
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/monitor/fan.cpp b/monitor/fan.cpp
index ba67918..46a85da 100644
--- a/monitor/fan.cpp
+++ b/monitor/fan.cpp
@@ -474,8 +474,6 @@
getLogger().log(
fmt::format("Fan {} presence state change to {}", _name, _present));
- _system.fanStatusChange(*this);
-
if (_present && _setFuncOnPresent)
{
updateInventory(true);
@@ -485,6 +483,8 @@
});
}
+ _system.fanStatusChange(*this);
+
if (_fanMissingErrorDelay)
{
if (!_present && _system.isPowerOn())