PEL: Fixed Userdata section parsing
A previous commit incorrectly tries to call python parsers when they do
not exist. This fixes it.
Signed-off-by: Harisuddin Mohamed Isa <harisuddin@gmail.com>
Change-Id: I6e65bc89e60b9ac31077009921d4376ddc8254bf
diff --git a/extensions/openpower-pels/user_data_json.cpp b/extensions/openpower-pels/user_data_json.cpp
index 408f5c3..6f88cbd 100644
--- a/extensions/openpower-pels/user_data_json.cpp
+++ b/extensions/openpower-pels/user_data_json.cpp
@@ -367,8 +367,11 @@
std::optional<std::string> getJSON(uint16_t componentID, uint8_t subType,
uint8_t version,
const std::vector<uint8_t>& data,
- uint8_t creatorID)
+ uint8_t creatorID,
+ const std::vector<std::string>& plugins)
{
+ std::string subsystem = getNumberString("%c", tolower(creatorID));
+ std::string component = getNumberString("%04x", componentID);
try
{
if (pv::creatorIDs.at(getNumberString("%c", creatorID)) == "BMC" &&
@@ -376,7 +379,8 @@
{
return getBuiltinFormatJSON(componentID, subType, version, data);
}
- else
+ else if (std::find(plugins.begin(), plugins.end(),
+ subsystem + component) != plugins.end())
{
return getPythonJSON(componentID, subType, version, data,
creatorID);