diff options
author | Ben Rafanello <brafanel@us.ibm.com> | 2015-12-10 15:22:09 -0600 |
---|---|---|
committer | Stephen Cprek <smcprek@us.ibm.com> | 2016-02-19 15:31:32 -0600 |
commit | 88ee79c12059a76bafcbdc0b841100630eb18bb7 (patch) | |
tree | 890a9660acf71f5d670aa11fcd2143e603a06039 /src/usr/ipmi | |
parent | 2710b54b7b465364408c1267be9e35061a26251d (diff) | |
download | talos-hostboot-88ee79c12059a76bafcbdc0b841100630eb18bb7.tar.gz talos-hostboot-88ee79c12059a76bafcbdc0b841100630eb18bb7.zip |
SW328412 - Multiple SELs per eSEL
The problem being fixed is the generation of multiple
SELs per eSEL when sending of the eSEL to the BMC
fails due to loss of SEL reservation on the BMC. The
code in send_esel is not supposed to generate the SEL
if there was an error sending the eSEL(the eSEL is in
the log stored on the PNOR and will be sent after the
next reboot if it has not been marked as having been
sent to the BMC). The error is that there are two
error variables that need to be checked in order to
determine if there was an error sending the eSEL to
the BMC. The code was only checking one of those.
Change-Id: I1346b29d8c31ed862b0bcfba9a6b8f057030ac20
CQ:SW328412
backport:master-p8
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/22663
Tested-by: Jenkins Server
Reviewed-by: WILLIAM G. HOFFA <wghoffa@us.ibm.com>
Reviewed-by: Marshall J. Wilks <mjwilks@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/ipmi')
-rw-r--r-- | src/usr/ipmi/ipmisel.C | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/usr/ipmi/ipmisel.C b/src/usr/ipmi/ipmisel.C index 7bb1136d0..31f3ac021 100644 --- a/src/usr/ipmi/ipmisel.C +++ b/src/usr/ipmi/ipmisel.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2014,2015 */ +/* Contributors Listed Below - COPYRIGHT 2014,2016 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -221,7 +221,10 @@ void send_esel(eselInitData * i_data, if (l_eSELlen == 0) { IPMI_TRAC(INFO_MRK "no eSEL data present, skipping to SEL"); + // sending sensor SELs only, not the eSEL + o_cc = IPMI::CC_OK; + break; } @@ -348,7 +351,7 @@ void send_esel(eselInitData * i_data, }while(0); // if eSEL wasn't created due to an error, we don't want to continue - if (o_err == NULL) + if ((o_err == NULL) && (o_cc == IPMI::CC_OK)) { // caller wants us to NOT create sensor SEL if ((i_data->eSel[offsetof(selRecord,sensor_type)] == SENSOR::INVALID_TYPE) && |