pldmd: Remove hard coded effecter id
This commit removes the hard coded effecter id from the
dbus_to_host_effecter.json for Phyp to boot from standby
to runtime. The effecter id will be fetched from Host PDR
instead.
Change-Id: I1829c99557a0f1b89d88c58b3ddef6d7d58ed2f6
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
diff --git a/common/utils.cpp b/common/utils.cpp
index 1dac2e5..74fcd06 100644
--- a/common/utils.cpp
+++ b/common/utils.cpp
@@ -395,7 +395,7 @@
uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,
uint16_t entityInstance, uint16_t containerId,
- uint16_t stateSetId)
+ uint16_t stateSetId, bool localOrRemote)
{
uint8_t* pdrData = nullptr;
uint32_t pdrSize{};
@@ -404,7 +404,7 @@
{
record = pldm_pdr_find_record_by_type(pdrRepo, PLDM_STATE_EFFECTER_PDR,
record, &pdrData, &pdrSize);
- if (record)
+ if (record && (localOrRemote ^ pldm_pdr_record_is_remote(record)))
{
auto pdr = reinterpret_cast<pldm_state_effecter_pdr*>(pdrData);
auto compositeEffecterCount = pdr->composite_effecter_count;
diff --git a/common/utils.hpp b/common/utils.hpp
index 8c5c4f5..4e702d8 100644
--- a/common/utils.hpp
+++ b/common/utils.hpp
@@ -294,12 +294,14 @@
* @param[in] entityInstance - entity instance number
* @param[in] containerId - container id
* @param[in] stateSetId - state set id
+ * @param[in] localOrRemote - true for checking local repo and false for remote
+ * repo
*
* @return uint16_t - the effecter id
*/
uint16_t findStateEffecterId(const pldm_pdr* pdrRepo, uint16_t entityType,
uint16_t entityInstance, uint16_t containerId,
- uint16_t stateSetId);
+ uint16_t stateSetId, bool localOrRemote);
/** @brief Emit the sensor event signal
*