clear ipmi_rq before using to remove garbage data like LUN. throttle keystroke errors unless verbose

This commit is contained in:
Duncan Laurie 2006-04-11 00:47:49 +00:00
parent 35a7fad915
commit 9fd9b29cb5

View File

@ -73,6 +73,8 @@ static struct winsize _saved_winsize;
static int _in_raw_mode = 0; static int _in_raw_mode = 0;
static int _altterm = 0; static int _altterm = 0;
extern int verbose;
static int static int
ipmi_tsol_command(struct ipmi_intf * intf, char *recvip, int port, unsigned char cmd) ipmi_tsol_command(struct ipmi_intf * intf, char *recvip, int port, unsigned char cmd)
{ {
@ -93,6 +95,7 @@ ipmi_tsol_command(struct ipmi_intf * intf, char *recvip, int port, unsigned char
return -1; return -1;
} }
memset(&req, 0, sizeof(struct ipmi_rq));
req.msg.netfn = IPMI_NETFN_TSOL; req.msg.netfn = IPMI_NETFN_TSOL;
req.msg.cmd = cmd; req.msg.cmd = cmd;
req.msg.data_len = 6; req.msg.data_len = 6;
@ -140,6 +143,7 @@ ipmi_tsol_send_keystroke(struct ipmi_intf * intf, char *buff, int length)
unsigned char data[16]; unsigned char data[16];
static unsigned char keyseq = 0; static unsigned char keyseq = 0;
memset(&req, 0, sizeof(struct ipmi_rq));
req.msg.netfn = IPMI_NETFN_TSOL; req.msg.netfn = IPMI_NETFN_TSOL;
req.msg.cmd = IPMI_TSOL_CMD_SENDKEY; req.msg.cmd = IPMI_TSOL_CMD_SENDKEY;
req.msg.data_len = length + 2; req.msg.data_len = length + 2;
@ -151,6 +155,7 @@ ipmi_tsol_send_keystroke(struct ipmi_intf * intf, char *buff, int length)
data[length + 1] = keyseq++; data[length + 1] = keyseq++;
rsp = intf->sendrecv(intf, &req); rsp = intf->sendrecv(intf, &req);
if (verbose) {
if (rsp == NULL) { if (rsp == NULL) {
lprintf(LOG_ERR, "Unable to send keystroke"); lprintf(LOG_ERR, "Unable to send keystroke");
return -1; return -1;
@ -160,6 +165,7 @@ ipmi_tsol_send_keystroke(struct ipmi_intf * intf, char *buff, int length)
val2str(rsp->ccode, completion_code_vals)); val2str(rsp->ccode, completion_code_vals));
return -1; return -1;
} }
}
return length; return length;
} }