summaryrefslogtreecommitdiffstats
path: root/host-interface.cpp
diff options
context:
space:
mode:
authorAndrew Geissler <andrewg@us.ibm.com>2017-06-07 21:17:45 -0500
committerPatrick Williams <patrick@stwcx.xyz>2017-06-12 13:11:29 +0000
commit758c1aecbaaa8b120b0203b6a5b106e3e599180d (patch)
tree92ef0eff02085dcbf0ff2bea420124ee49a46a60 /host-interface.cpp
parent2b4e459867d6b6693676c483958ec899be140316 (diff)
downloadphosphor-host-ipmid-758c1aecbaaa8b120b0203b6a5b106e3e599180d.tar.gz
phosphor-host-ipmid-758c1aecbaaa8b120b0203b6a5b106e3e599180d.zip
Return the heartbeat command if queue is empty
There are numerous valid situations where the host interface queue may be empty, but the host has an active SMS_ATN. In these cases, ipmid should not log an error and abort but instead just return a default command. The default will be the heartbeat command since its basically a noop to the host. Resolves openbmc/openbmc#1750 Change-Id: I810bb0368c2cbd4aa99b6cf20d29eeefc8b312cd Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
Diffstat (limited to 'host-interface.cpp')
-rw-r--r--host-interface.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/host-interface.cpp b/host-interface.cpp
index be2bd99..0bce888 100644
--- a/host-interface.cpp
+++ b/host-interface.cpp
@@ -3,7 +3,6 @@
#include <utils.hpp>
#include <config.h>
#include "host-interface.hpp"
-#include "elog-errors.hpp"
namespace phosphor
{
@@ -31,8 +30,10 @@ base::Host::Command Host::getNextCommand()
if(this->workQueue.empty())
{
- log<level::ERR>("Control Host work queue is empty!");
- elog<xyz::openbmc_project::Control::Internal::Host::QueueEmpty>();
+ // Just return a heartbeat in this case. A spurious SMS_ATN was
+ // asserted for the host (probably from a previous boot).
+ log<level::INFO>("Control Host work queue is empty!");
+ return (Command::Heartbeat);
}
// Pop the processed entry off the queue
OpenPOWER on IntegriCloud