From f12b976ebc602a80b9f631961a19a22511759ed1 Mon Sep 17 00:00:00 2001 From: Zdenek Styblik Date: Sat, 26 Oct 2013 19:07:04 +0000 Subject: [PATCH] ID: 46 - ipmi_fwum needs some re-work KfwumStartFirmwareImage() - code formatting, simplify --- ipmitool/lib/ipmi_fwum.c | 83 +++++++++++++++++----------------------- 1 file changed, 35 insertions(+), 48 deletions(-) diff --git a/ipmitool/lib/ipmi_fwum.c b/ipmitool/lib/ipmi_fwum.c index 4d85659..4943584 100644 --- a/ipmitool/lib/ipmi_fwum.c +++ b/ipmitool/lib/ipmi_fwum.c @@ -878,57 +878,44 @@ struct KfwumStartFirmwareDownloadResp { #endif static tKFWUM_Status KfwumStartFirmwareImage(struct ipmi_intf * intf, - unsigned long length,unsigned short padding) + unsigned long length, unsigned short padding) { - tKFWUM_Status status = KFWUM_STATUS_OK; - struct ipmi_rs * rsp; - struct ipmi_rq req; - struct KfwumStartFirmwareDownloadResp *pResp; - struct KfwumStartFirmwareDownloadReq thisReq; + struct ipmi_rs *rsp; + struct ipmi_rq req; + struct KfwumStartFirmwareDownloadResp *pResp; + struct KfwumStartFirmwareDownloadReq thisReq; - thisReq.lengthLSB = length & 0x000000ff; - thisReq.lengthMid = (length >> 8) & 0x000000ff; - thisReq.lengthMSB = (length >> 16) & 0x000000ff; - thisReq.paddingLSB = padding & 0x00ff; - thisReq.paddingMSB = (padding>> 8) & 0x00ff; + thisReq.lengthLSB = length & 0x000000ff; + thisReq.lengthMid = (length >> 8) & 0x000000ff; + thisReq.lengthMSB = (length >> 16) & 0x000000ff; + thisReq.paddingLSB = padding & 0x00ff; + thisReq.paddingMSB = (padding>> 8) & 0x00ff; thisReq.useSequence = 0x01; - - memset(&req, 0, sizeof(req)); - req.msg.netfn = IPMI_NETFN_FIRMWARE; - req.msg.cmd = KFWUM_CMD_ID_START_FIRMWARE_IMAGE; - req.msg.data = (unsigned char *) &thisReq; - - /* Look for download type */ - if ( saveFirmwareInfo.downloadType == KFWUM_DOWNLOAD_TYPE_ADDRESS ) - { - req.msg.data_len = 5; - } - else - { - req.msg.data_len = 6; - } - - rsp = intf->sendrecv(intf, &req); - - if (!rsp) - { - printf("Error in FWUM Firmware Start Firmware Image Download Command\n"); - status = KFWUM_STATUS_ERROR; - } - else if (rsp->ccode) - { - printf("FWUM Firmware Start Firmware Image Download returned %x\n", - rsp->ccode); - status = KFWUM_STATUS_ERROR; - } - - if(status == KFWUM_STATUS_OK) - { - pResp = (struct KfwumStartFirmwareDownloadResp *) rsp->data; - printf("Bank holding new firmware : %d\n", pResp->bank); - sleep(5); - } - return status; + memset(&req, 0, sizeof(req)); + req.msg.netfn = IPMI_NETFN_FIRMWARE; + req.msg.cmd = KFWUM_CMD_ID_START_FIRMWARE_IMAGE; + req.msg.data = (unsigned char *) &thisReq; + /* Look for download type */ + if (saveFirmwareInfo.downloadType == KFWUM_DOWNLOAD_TYPE_ADDRESS) { + req.msg.data_len = 5; + } else { + req.msg.data_len = 6; + } + rsp = intf->sendrecv(intf, &req); + if (rsp == NULL) { + lprintf(LOG_ERR, + "Error in FWUM Firmware Start Firmware Image Download Command."); + return KFWUM_STATUS_ERROR; + } else if (rsp->ccode) { + lprintf(LOG_ERR, + "FWUM Firmware Start Firmware Image Download returned %x", + rsp->ccode); + return KFWUM_STATUS_ERROR; + } + pResp = (struct KfwumStartFirmwareDownloadResp *)rsp->data; + printf("Bank holding new firmware : %d\n", pResp->bank); + sleep(5); + return KFWUM_STATUS_OK; } #ifdef HAVE_PRAGMA_PACK