diff options
| -rw-r--r-- | drivers/char/ipmi/ipmi_ssif.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c index 8b5aec5430f1..aaccb0ff1ea6 100644 --- a/drivers/char/ipmi/ipmi_ssif.c +++ b/drivers/char/ipmi/ipmi_ssif.c | |||
| @@ -727,12 +727,16 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result, | |||
| 727 | /* End of read */ | 727 | /* End of read */ |
| 728 | len = ssif_info->multi_len; | 728 | len = ssif_info->multi_len; |
| 729 | data = ssif_info->data; | 729 | data = ssif_info->data; |
| 730 | } else if (blocknum != ssif_info->multi_pos) { | 730 | } else if (blocknum + 1 != ssif_info->multi_pos) { |
| 731 | /* | 731 | /* |
| 732 | * Out of sequence block, just abort. Block | 732 | * Out of sequence block, just abort. Block |
| 733 | * numbers start at zero for the second block, | 733 | * numbers start at zero for the second block, |
| 734 | * but multi_pos starts at one, so the +1. | 734 | * but multi_pos starts at one, so the +1. |
| 735 | */ | 735 | */ |
| 736 | if (ssif_info->ssif_debug & SSIF_DEBUG_MSG) | ||
| 737 | dev_dbg(&ssif_info->client->dev, | ||
| 738 | "Received message out of sequence, expected %u, got %u\n", | ||
| 739 | ssif_info->multi_pos - 1, blocknum); | ||
| 736 | result = -EIO; | 740 | result = -EIO; |
| 737 | } else { | 741 | } else { |
| 738 | ssif_inc_stat(ssif_info, received_message_parts); | 742 | ssif_inc_stat(ssif_info, received_message_parts); |
