diff options
author | Andrew Geissler <andrewg@us.ibm.com> | 2017-06-07 21:17:45 -0500 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2017-06-12 13:11:29 +0000 |
commit | 758c1aecbaaa8b120b0203b6a5b106e3e599180d (patch) | |
tree | 92ef0eff02085dcbf0ff2bea420124ee49a46a60 /host-interface.cpp | |
parent | 2b4e459867d6b6693676c483958ec899be140316 (diff) | |
download | phosphor-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.cpp | 7 |
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 |