summaryrefslogtreecommitdiffstats
path: root/src/usr/ipmi
diff options
context:
space:
mode:
authorMatt Ploetz <maploetz@us.ibm.com>2015-07-17 11:55:19 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-07-21 11:50:13 -0500
commit547e3794064bc372e8d10a371bb9e305c89b8f8f (patch)
tree480a2ec4f381d00471219f62db59ce27ada8ed3e /src/usr/ipmi
parentefdd6c59f0568c82e6bfa4509f0c5937e20103d1 (diff)
downloadtalos-hostboot-547e3794064bc372e8d10a371bb9e305c89b8f8f.tar.gz
talos-hostboot-547e3794064bc372e8d10a371bb9e305c89b8f8f.zip
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>
Diffstat (limited to 'src/usr/ipmi')
-rw-r--r--src/usr/ipmi/ipmibt.C11
-rw-r--r--src/usr/ipmi/ipmirp.C8
2 files changed, 14 insertions, 5 deletions
diff --git a/src/usr/ipmi/ipmibt.C b/src/usr/ipmi/ipmibt.C
index 7c68cdc92..42a26e024 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 9b69991c9..9a9b5060e 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();
OpenPOWER on IntegriCloud