PEL: Update Deconfig D-Bus property after clear
When a fan or power supply is replaced, the deconfig flag field in the
PEL is cleared. There is also a Deconfig property on D-Bus that should
match the PEL field, but the code to clear that was missed, so add it.
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: I6fc971953b6e4d1e1c2da421bbc920923b199dbb
diff --git a/extensions/openpower-pels/manager.cpp b/extensions/openpower-pels/manager.cpp
index 1be0848..0a23e42 100644
--- a/extensions/openpower-pels/manager.cpp
+++ b/extensions/openpower-pels/manager.cpp
@@ -1094,7 +1094,26 @@
if ((attributes.creator == static_cast<uint8_t>(CreatorID::openBMC)) &&
attributes.deconfig)
{
- _repo.updatePEL(attributes.path, handlePowerThermalHardwarePresent);
+ auto updated = _repo.updatePEL(attributes.path,
+ handlePowerThermalHardwarePresent);
+
+ if (updated)
+ {
+ // Also update the property on D-Bus
+ auto objPath = std::string(OBJ_ENTRY) + '/' +
+ std::to_string(id.obmcID.id);
+ auto entryN = _pelEntries.find(objPath);
+ if (entryN != _pelEntries.end())
+ {
+ entryN->second->deconfig(false);
+ }
+ else
+ {
+ lg2::error(
+ "Could not find PEL Entry D-Bus object for {PATH}",
+ "PATH", objPath);
+ }
+ }
}
}
}