diff --git a/ipmitool/lib/ipmi_sol.c b/ipmitool/lib/ipmi_sol.c index 475263b..cccef78 100644 --- a/ipmitool/lib/ipmi_sol.c +++ b/ipmitool/lib/ipmi_sol.c @@ -208,6 +208,7 @@ ipmi_get_sol_info( req.msg.data_len = 4; req.msg.data = data; + /* * set in progress */ @@ -218,11 +219,6 @@ ipmi_get_sol_info( data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } if (NULL != rsp) { switch (rsp->ccode) { @@ -231,14 +227,14 @@ ipmi_get_sol_info( params->set_in_progress = rsp->data[1]; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported", - val2str(data[1], sol_parameter_vals)); + val2str(data[1], sol_parameter_vals)); break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -246,23 +242,21 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* * SOL enable */ - memset(data, 0, sizeof(data)); + memset(data, 0, sizeof(data)); data[0] = channel; /* channel number */ data[1] = SOL_PARAMETER_SOL_ENABLE; /* parameter selector */ data[2] = 0x00; /* set selector */ data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } if (NULL != rsp) { switch (rsp->ccode) { @@ -271,14 +265,14 @@ ipmi_get_sol_info( params->enabled = rsp->data[1]; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported", - val2str(data[1], sol_parameter_vals)); + val2str(data[1], sol_parameter_vals)); break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -286,6 +280,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* @@ -298,12 +295,6 @@ ipmi_get_sol_info( data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } - if (NULL != rsp) { switch (rsp->ccode) { case 0x00: @@ -313,14 +304,14 @@ ipmi_get_sol_info( params->privilege_level = rsp->data[1] & 0x0F; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported", - val2str(data[1], sol_parameter_vals)); + val2str(data[1], sol_parameter_vals)); break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -328,6 +319,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* @@ -340,12 +334,6 @@ ipmi_get_sol_info( data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } - if (NULL != rsp) { switch (rsp->ccode) { case 0x00: @@ -354,14 +342,14 @@ ipmi_get_sol_info( params->character_send_threshold = rsp->data[2]; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported", - val2str(data[1], sol_parameter_vals)); + val2str(data[1], sol_parameter_vals)); break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -369,6 +357,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* @@ -381,12 +372,6 @@ ipmi_get_sol_info( data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } - if (NULL != rsp) { switch (rsp->ccode) { case 0x00: @@ -395,14 +380,14 @@ ipmi_get_sol_info( params->retry_interval = rsp->data[2]; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported", - val2str(data[1], sol_parameter_vals)); + val2str(data[1], sol_parameter_vals)); break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -410,6 +395,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* @@ -417,17 +405,11 @@ ipmi_get_sol_info( */ memset(data, 0, sizeof(data)); data[0] = channel; /* channel number */ - data[1] = SOL_PARAMETER_SOL_NON_VOLATILE_BIT_RATE; /* parameter selector */ - data[2] = 0x00; /* set selector */ + data[1] = SOL_PARAMETER_SOL_NON_VOLATILE_BIT_RATE; /* parameter selector */ + data[2] = 0x00; /* set selector */ data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } - if (NULL != rsp) { switch (rsp->ccode) { case 0x00: @@ -435,14 +417,14 @@ ipmi_get_sol_info( params->non_volatile_bit_rate = rsp->data[1] & 0x0F; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported", - val2str(data[1], sol_parameter_vals)); + val2str(data[1], sol_parameter_vals)); break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -450,6 +432,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* @@ -462,12 +447,6 @@ ipmi_get_sol_info( data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } - if (NULL != rsp) { switch (rsp->ccode) { case 0x00: @@ -475,14 +454,14 @@ ipmi_get_sol_info( params->volatile_bit_rate = rsp->data[1] & 0x0F; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported", - val2str(data[1], sol_parameter_vals)); + val2str(data[1], sol_parameter_vals)); break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -490,6 +469,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* @@ -502,12 +484,6 @@ ipmi_get_sol_info( data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } - if (NULL != rsp) { switch (rsp->ccode) { case 0x00: @@ -515,14 +491,14 @@ ipmi_get_sol_info( params->payload_channel = rsp->data[1]; } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported - defaulting to 0x%02x", - val2str(data[1], sol_parameter_vals), channel); + val2str(data[1], sol_parameter_vals), channel); params->payload_channel = channel; break; default: @@ -531,6 +507,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } /* @@ -543,12 +522,6 @@ ipmi_get_sol_info( data[3] = 0x00; /* block selector */ rsp = intf->sendrecv(intf, &req); - if (rsp == NULL) { - lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", - val2str(data[1], sol_parameter_vals)); - return (-1); - } - if (NULL != rsp) { switch (rsp->ccode) { case 0x00: @@ -556,23 +529,19 @@ ipmi_get_sol_info( params->payload_port = (rsp->data[1]) | (rsp->data[2] << 8); } else { lprintf(LOG_ERR, "Error: Unexpected data length (%d) received " - "for SOL parameter '%s'", - rsp->data_len, - val2str(data[1], sol_parameter_vals)); + "for SOL parameter '%s'", + rsp->data_len, + val2str(data[1], sol_parameter_vals)); } break; case 0x80: - if( intf->session != NULL ) { - lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported - defaulting to %d", - val2str(data[1], sol_parameter_vals), intf->session->port); - params->payload_port = intf->session->port; - } else { - lprintf(LOG_ERR, - "Info: SOL parameter '%s' not supported - can't determine which " - "payload port to use on NULL session", - val2str(data[1], sol_parameter_vals)); - return -1; - } + if( intf->session != NULL ){ + lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported - defaulting to %d", val2str(data[1], sol_parameter_vals), intf->session->port); + params->payload_port = intf->session->port; + } else { + lprintf(LOG_ERR, "Info: SOL parameter '%s' not supported - can't determine which payload port to use on NULL session" ); + return -1; + } break; default: lprintf(LOG_ERR, "Error requesting SOL parameter '%s': %s", @@ -580,6 +549,9 @@ ipmi_get_sol_info( val2str(rsp->ccode, completion_code_vals)); return -1; } + } else { + lprintf(LOG_ERR, "Error: No response requesting SOL parameter '%s'", + val2str(data[1], sol_parameter_vals)); } return 0;