host-bmc PDR flow: support refreshEntireRepository
Support the refreshEntireRepository format of the
pldmPDRRepositoryChgEvent event, to fetch all PDRs of the host.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: Ic91806e35c34b6fb9421df6be7e801d0c8c7c866
diff --git a/libpldmresponder/platform.cpp b/libpldmresponder/platform.cpp
index b94fdab..6801566 100644
--- a/libpldmresponder/platform.cpp
+++ b/libpldmresponder/platform.cpp
@@ -448,6 +448,12 @@
}
PDRRecordHandles pdrRecordHandles;
+
+ if (eventDataFormat == FORMAT_IS_PDR_TYPES)
+ {
+ return PLDM_ERROR_INVALID_DATA;
+ }
+
if (eventDataFormat == FORMAT_IS_PDR_HANDLES)
{
uint8_t eventDataOperation{};
@@ -487,15 +493,10 @@
changeRecordDataSize -=
dataOffset + (numberOfChangeEntries * sizeof(ChangeEntry));
}
-
- if (hostPDRHandler && !pdrRecordHandles.empty())
- {
- hostPDRHandler->fetchPDR(std::move(pdrRecordHandles));
- }
}
- else
+ if (hostPDRHandler)
{
- return PLDM_ERROR_INVALID_DATA;
+ hostPDRHandler->fetchPDR(std::move(pdrRecordHandles));
}
return PLDM_SUCCESS;