diff options
Diffstat (limited to 'extensions')
-rw-r--r-- | extensions/openpower-pels/host_notifier.cpp | 12 | ||||
-rw-r--r-- | extensions/openpower-pels/host_notifier.hpp | 9 |
2 files changed, 21 insertions, 0 deletions
diff --git a/extensions/openpower-pels/host_notifier.cpp b/extensions/openpower-pels/host_notifier.cpp index f2d951f..b4e92a8 100644 --- a/extensions/openpower-pels/host_notifier.cpp +++ b/extensions/openpower-pels/host_notifier.cpp @@ -345,4 +345,16 @@ void HostNotifier::stopCommand() } } +void HostNotifier::ackPEL(uint32_t id) +{ + _repo.setPELHostTransState(id, TransmissionState::acked); + + // No longer just 'sent', so remove it from the sent list. + auto sent = std::find(_sentPELs.begin(), _sentPELs.end(), id); + if (sent != _sentPELs.end()) + { + _sentPELs.erase(sent); + } +} + } // namespace openpower::pels diff --git a/extensions/openpower-pels/host_notifier.hpp b/extensions/openpower-pels/host_notifier.hpp index 3e50c83..d160dd4 100644 --- a/extensions/openpower-pels/host_notifier.hpp +++ b/extensions/openpower-pels/host_notifier.hpp @@ -82,6 +82,15 @@ class HostNotifier */ bool notifyRequired(uint32_t id) const; + /** + * @brief Called when the host sends the 'ack' PLDM command. + * + * This means the PEL never needs to be sent up again. + * + * @param[in] id - The PEL ID + */ + void ackPEL(uint32_t id); + private: /** * @brief This function gets called by the Repository class |