From dae2d940092520c839a0af00970b448ca4c36a88 Mon Sep 17 00:00:00 2001 From: Eddie James Date: Wed, 20 Dec 2017 10:50:03 -0600 Subject: Only add presence watching when all OCCs are bound The OCC present count returns the number of OCCs in the system. Before we have bound the second OCC, this will be greater than the number of OCCs the Manager has counted as Active, resulting in a mismatch, causing an error. Resolves openbmc/openbmc#2733 Change-Id: Ia37a6b152fb073cf3044c601501903bcdfe9d3fe Signed-off-by: Eddie James --- occ_device.hpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'occ_device.hpp') diff --git a/occ_device.hpp b/occ_device.hpp index fd30641..2ca94f5 100644 --- a/occ_device.hpp +++ b/occ_device.hpp @@ -105,11 +105,6 @@ class Device /** @brief Starts to monitor for errors */ inline void addErrorWatch() { - if (master()) - { - presence.addWatch(); - } - throttleProcTemp.addWatch(); throttleProcPower.addWatch(); throttleMemTemp.addWatch(); @@ -128,6 +123,15 @@ class Device throttleProcTemp.removeWatch(); } + /** @brief Starts to watch how many OCCs are present on the master */ + inline void addPresenceWatchMaster() + { + if (master()) + { + presence.addWatch(); + } + } + private: /** @brief Config value to be used to do bind and unbind */ const std::string config; -- cgit v1.2.1