From 771dd0a57973bfa131a98f34deb8749326807726 Mon Sep 17 00:00:00 2001 From: Shirish Pargaonkar Date: Fri, 15 May 2026 17:38:18 -0500 Subject: [PATCH] pldm: Sensor polling after setting numeric effecter Polling for value of a numeric sensor that has a corrospoinding numeric effecter is disabled since the polling returns error until the numeric effecter is set to an pertinent value. Once a numeric effecter is set with a pertinent value using D-Bus set-property method, enable polling the corresponding numeric sensor for its value. Signed-off-by: Shirish Pargaonkar --- platform-mc/effecters/numeric/effecter.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/platform-mc/effecters/numeric/effecter.cpp b/platform-mc/effecters/numeric/effecter.cpp index f81c1ce555..de4c953934 100644 --- a/platform-mc/effecters/numeric/effecter.cpp +++ b/platform-mc/effecters/numeric/effecter.cpp @@ -432,6 +432,17 @@ exec::task NumericEffecter::setNumericEffecterValue(double effecterValue) co_return completionCode; } +#ifdef OEM_AMD + auto it = std::find_if(terminus.numericSensors.begin(), terminus.numericSensors.end(), + [this](const auto& sensor) { return sensor->sensorId == this->effecterId; }); + + if (it != terminus.numericSensors.end()) + { + lg2::info("Enable polling for sensor ID: {SID}", "SID", (*it)->sensorId); + (*it)->updateTime = static_cast(DEFAULT_SENSOR_UPDATER_INTERVAL * 1000); + } +#endif + co_await getNumericEffecterValue(); co_return completionCode;