summaryrefslogtreecommitdiff
path: root/util/ihealth.c
diff options
context:
space:
mode:
Diffstat (limited to 'util/ihealth.c')
-rw-r--r--util/ihealth.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/util/ihealth.c b/util/ihealth.c
index 974fa95..0ba6a79 100644
--- a/util/ihealth.c
+++ b/util/ihealth.c
@@ -82,7 +82,7 @@ extern int oem_supermicro_get_firmware_str(char *pstr, int sz); /*oem_supermicro
* Global variables
*/
static char * progname = "ihealth";
-static char * progver = "3.04";
+static char * progver = "3.05";
static char fdebug = 0;
static char fipmilan = 0;
static char fcanonical = 0;
@@ -421,9 +421,12 @@ static int get_power_state(uchar *rdata, int rlen)
uchar ccode;
int ret;
- ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP,
- g_sa, g_bus, g_lun,
+ ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP, g_sa, g_bus, g_lun,
+ idata,0, rdata,&rlen,&ccode, fdebug);
+ if (ret == 0 && ccode == 193) { /*0xB7, usu. SuperMicro, retry */
+ ret = ipmi_cmdraw( GET_POWER_STATE, NETFN_APP, g_sa, g_bus, g_lun,
idata,0, rdata,&rlen,&ccode, fdebug);
+ }
if (ret == 0 && ccode != 0) ret = ccode;
return(ret);
} /*end get_power_state()*/