Hostboot: Patch for IPMI power-cycle loop.
diff --git a/openpower/package/hostboot/hostboot-0006-Change-the-way-we-handle-response-to-chassis-power-c.patch b/openpower/package/hostboot/hostboot-0006-Change-the-way-we-handle-response-to-chassis-power-c.patch
new file mode 100644
index 0000000..92b80d1
--- /dev/null
+++ b/openpower/package/hostboot/hostboot-0006-Change-the-way-we-handle-response-to-chassis-power-c.patch
@@ -0,0 +1,82 @@
+From 547e3794064bc372e8d10a371bb9e305c89b8f8f Mon Sep 17 00:00:00 2001
+From: Matt Ploetz <maploetz@us.ibm.com>
+Date: Fri, 17 Jul 2015 11:55:19 -0500
+Subject: [PATCH] Change the way we handle response to chassis power cycle
+
+Change-Id: I7cb62670fe4b1ce900d0bd2a03061248d5123cc0
+RTC:131615
+Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/19148
+Tested-by: Jenkins Server
+Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
+---
+ src/include/usr/ipmi/ipmiif.H |  1 +
+ src/usr/ipmi/ipmibt.C         | 11 ++++++++++-
+ src/usr/ipmi/ipmirp.C         |  8 ++++----
+ 3 files changed, 15 insertions(+), 5 deletions(-)
+
+diff --git a/src/include/usr/ipmi/ipmiif.H b/src/include/usr/ipmi/ipmiif.H
+index 26ffba3..fa13c32 100644
+--- a/src/include/usr/ipmi/ipmiif.H
++++ b/src/include/usr/ipmi/ipmiif.H
+@@ -62,6 +62,7 @@ namespace IPMI
+         CHASSIS_POWER_OFF = 0x00,
+         CHASSIS_POWER_SOFT_RESET = 0x01,
+         CHASSIS_POWER_CYCLE = 0x02,
++        CHASSIS_POWER_RESET = 0x03,
+     };
+ 
+     // Used in the factory for creating the proper subclass.
+diff --git a/src/usr/ipmi/ipmibt.C b/src/usr/ipmi/ipmibt.C
+index 7c68cdc..42a26e0 100644
+--- a/src/usr/ipmi/ipmibt.C
++++ b/src/usr/ipmi/ipmibt.C
+@@ -317,6 +317,15 @@ namespace IPMI
+                           "completion code %x",
+                           iv_netfun, iv_cmd, iv_seq, iv_cc);
+ 
++                if (iv_cc == IPMI::CC_CMDSPC1)
++                {
++                    // We got a completion code with 0x80, which is no data
++                    // Let's trace the event, but not log an error.
++                    IPMI_TRAC(ERR_MRK "SEL returned with no data, not logging "
++                              "an error");
++                    break;
++                }
++
+                 /* @errorlog tag
+                  * @errortype       ERRL_SEV_INFORMATIONAL
+                  * @moduleid        IPMI::MOD_IPMISRV_REPLY
+@@ -338,7 +347,7 @@ namespace IPMI
+                 errlCommit(err, IPMI_COMP_ID);
+                 break;
+             }
+-
++ 
+             // Before we self destruct, we need to turn the data collected in to
+             // a record we can pass to the waiting event handler.
+             Singleton<IpmiRP>::instance().postEvent(new IPMI::oemSEL(iv_data));
+diff --git a/src/usr/ipmi/ipmirp.C b/src/usr/ipmi/ipmirp.C
+index 9b69991..9a9b506 100644
+--- a/src/usr/ipmi/ipmirp.C
++++ b/src/usr/ipmi/ipmirp.C
+@@ -438,13 +438,13 @@ void IpmiRP::handlePowerMessage( IPMI::oemSEL* i_event )
+ #endif
+ 
+         }
+-        // If the event type is a power soft reset aka power cycle
++        // If the event type is a power soft reset, send a chasis reset
+         // update the modifier to send to the BMC
+         else if( i_event->iv_cmd[1] == IPMI::CHASSIS_POWER_SOFT_RESET )
+         {
+-            // handle the message as a power cycle request
+-            IPMI_TRAC("IPMI power cycle request received");
+-            iv_chassis_power_mod = IPMI::CHASSIS_POWER_CYCLE;
++            // handle the message as a power reset request
++            IPMI_TRAC("IPMI power reset request received");
++            iv_chassis_power_mod = IPMI::CHASSIS_POWER_RESET;
+ #ifdef CONFIG_CONSOLE
+             CONSOLE::displayf(NULL, "IPMI: power cycle requested");
+             CONSOLE::flush();
+-- 
+2.4.4
+