|
@@ -757,7 +757,7 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
|
|
ssif_info->ssif_state = SSIF_NORMAL;
|
|
ssif_info->ssif_state = SSIF_NORMAL;
|
|
ipmi_ssif_unlock_cond(ssif_info, flags);
|
|
ipmi_ssif_unlock_cond(ssif_info, flags);
|
|
pr_warn(PFX "Error getting flags: %d %d, %x\n",
|
|
pr_warn(PFX "Error getting flags: %d %d, %x\n",
|
|
- result, len, data[2]);
|
|
|
|
|
|
+ result, len, (len >= 3) ? data[2] : 0);
|
|
} else if (data[0] != (IPMI_NETFN_APP_REQUEST | 1) << 2
|
|
} else if (data[0] != (IPMI_NETFN_APP_REQUEST | 1) << 2
|
|
|| data[1] != IPMI_GET_MSG_FLAGS_CMD) {
|
|
|| data[1] != IPMI_GET_MSG_FLAGS_CMD) {
|
|
/*
|
|
/*
|
|
@@ -779,7 +779,7 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
|
|
if ((result < 0) || (len < 3) || (data[2] != 0)) {
|
|
if ((result < 0) || (len < 3) || (data[2] != 0)) {
|
|
/* Error clearing flags */
|
|
/* Error clearing flags */
|
|
pr_warn(PFX "Error clearing flags: %d %d, %x\n",
|
|
pr_warn(PFX "Error clearing flags: %d %d, %x\n",
|
|
- result, len, data[2]);
|
|
|
|
|
|
+ result, len, (len >= 3) ? data[2] : 0);
|
|
} else if (data[0] != (IPMI_NETFN_APP_REQUEST | 1) << 2
|
|
} else if (data[0] != (IPMI_NETFN_APP_REQUEST | 1) << 2
|
|
|| data[1] != IPMI_CLEAR_MSG_FLAGS_CMD) {
|
|
|| data[1] != IPMI_CLEAR_MSG_FLAGS_CMD) {
|
|
pr_warn(PFX "Invalid response clearing flags: %x %x\n",
|
|
pr_warn(PFX "Invalid response clearing flags: %x %x\n",
|