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>
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 @@
 
     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