From 9b188cdec934275ce65eab3ade91398fdec4ddb9 Mon Sep 17 00:00:00 2001 From: Andres Lugo-Reyes Date: Thu, 10 Mar 2016 15:26:44 -0600 Subject: Sending Firmware progress sensor is now synchronous Change-Id: I22dc54cc4472958aec35a23d91740106be0be928 CQ:SW336181 ForwardPort:yes Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/21902 Tested-by: Jenkins Server Reviewed-by: Prachi Gupta Reviewed-by: Richard J. Knight Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Jay M. Azurin Tested-by: FSP CI Jenkins Reviewed-by: William G. Hoffa Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22300 --- src/usr/ipmi/ipmisensor.C | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'src/usr/ipmi') diff --git a/src/usr/ipmi/ipmisensor.C b/src/usr/ipmi/ipmisensor.C index 4aa1c9f4b..d4eb6560f 100644 --- a/src/usr/ipmi/ipmisensor.C +++ b/src/usr/ipmi/ipmisensor.C @@ -539,6 +539,45 @@ namespace SENSOR return writeSensorData(); }; + // + // sendSetSensorReading + // + errlHndl_t FirmwareProgressSensor::sendSetSensorReading( + setSensorReadingRequest * i_data ) + { + size_t l_len = sizeof( setSensorReadingRequest ); + IPMI::completion_code cc = IPMI::CC_UNKBAD; + + //i_data will hold the response when this returns + errlHndl_t l_err = sendrecv(IPMI::set_sensor_reading(), + cc, + l_len, + (uint8_t*&)i_data ); + // If no error, check completion code + if( (l_err == NULL) && (cc != IPMI::CC_OK) ) + { + TRACFCOMP(g_trac_ipmi, "bad completion code from BMC=0x%x",cc); + + /*@ + * @errortype ERRL_SEV_INFORMATIONAL + * @moduleid IPMI::MOD_IPMI_PROG_SENSOR + * @reasoncode IPMI::RC_SET_SENSOR_FAILURE + * @userdata1 BMC IPMI Completion code. + * @devdesc Request to set the firmware progress + * sensor failed. + */ + l_err = new ERRORLOG::ErrlEntry( + ERRORLOG::ERRL_SEV_INFORMATIONAL, + IPMI::MOD_IPMI_PROG_SENSOR, + IPMI::RC_SET_SENSOR_FAILURE, + static_cast(cc), + 0, + true ); + l_err->collectTrace(IPMI_COMP_NAME); + } + return l_err; + } + // // RebootCountSensor constructor - uses system target // -- cgit v1.2.1