diff -uNr ipmitool-1.8.15/lib/ipmi_sol.c ipmitool-1.8.15-saneretry/lib/ipmi_sol.c --- ipmitool-1.8.15/lib/ipmi_sol.c 2014-10-23 15:41:13.000000000 -0400 +++ ipmitool-1.8.15-saneretry/lib/ipmi_sol.c 2015-11-05 03:40:00.382585518 -0500 @@ -71,7 +71,6 @@ #define SOL_PARAMETER_SOL_PAYLOAD_CHANNEL 0x07 #define SOL_PARAMETER_SOL_PAYLOAD_PORT 0x08 -#define MAX_SOL_RETRY 6 const struct valstr sol_parameter_vals[] = { { SOL_PARAMETER_SET_IN_PROGRESS, "Set In Progress (0)" }, @@ -92,7 +91,6 @@ static int _in_raw_mode = 0; static int _disable_keepalive = 0; static int _use_sol_for_keepalive = 0; -static int _keepalive_retries = 0; extern int verbose; @@ -1531,7 +1529,6 @@ int retval; int buffer_size = intf->session->sol_data.max_inbound_payload_size; int keepAliveRet = 0; - int retrySol = 0; /* Subtract SOL header from max_inbound_payload_size */ if (buffer_size > 4) @@ -1568,29 +1565,8 @@ if (keepAliveRet != 0) { - /* - * Retrying the keep Alive before declaring a communication - * lost state with the IPMC. Helpful when the payload is - * reset and brings down the connection temporarily. Otherwise, - * if we send getDevice Id to check the status of IPMC during - * this down time when the connection is restarting, SOL will - * exit even though the IPMC is available and the session is open. - */ - if (retrySol == MAX_SOL_RETRY) - { - /* no response to Get Device ID keepalive message */ - bShouldExit = 1; - continue; - } - else - { - retrySol++; - } - } - else - { - /* if the keep Alive is successful reset retries to zero */ - retrySol = 0; + bShouldExit = 1; + continue; } } /* !oem="i82571spt" */ /* Wait up to half a second */