diff options
| author | Matt Ploetz <maploetz@us.ibm.com> | 2015-07-17 11:55:19 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-07-21 11:50:13 -0500 |
| commit | 547e3794064bc372e8d10a371bb9e305c89b8f8f (patch) | |
| tree | 480a2ec4f381d00471219f62db59ce27ada8ed3e /src/usr/ipmi | |
| parent | efdd6c59f0568c82e6bfa4509f0c5937e20103d1 (diff) | |
| download | talos-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.C | 11 | ||||
| -rw-r--r-- | src/usr/ipmi/ipmirp.C | 8 |
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(); |

