summaryrefslogtreecommitdiffstats
path: root/src/usr/ipmi
diff options
context:
space:
mode:
authorBen Rafanello <brafanel@us.ibm.com>2015-12-10 15:22:09 -0600
committerStephen Cprek <smcprek@us.ibm.com>2016-02-19 15:31:32 -0600
commit88ee79c12059a76bafcbdc0b841100630eb18bb7 (patch)
tree890a9660acf71f5d670aa11fcd2143e603a06039 /src/usr/ipmi
parent2710b54b7b465364408c1267be9e35061a26251d (diff)
downloadtalos-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.C7
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) &&
OpenPOWER on IntegriCloud