summaryrefslogtreecommitdiff
path: root/drivers/char/ipmi/ipmi_ssif.c
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2020-03-28 21:14:50 +0100
committerMax Krummenacher <max.krummenacher@toradex.com>2020-03-28 21:14:50 +0100
commit4a31b8a3519d5dde0eacbb088b0d45c83732535b (patch)
treeee0d405004393bba659643108bfe40f21788b96d /drivers/char/ipmi/ipmi_ssif.c
parent73b51c4600180ca69bfa5f22ad097edbf655d0d1 (diff)
parent3b41c631678a15390920ffc1e72470e83db73ac8 (diff)
Merge tag 'v4.4.217' into toradex_vf_4.4-next
This is the 4.4.217 stable release
Diffstat (limited to 'drivers/char/ipmi/ipmi_ssif.c')
-rw-r--r--drivers/char/ipmi/ipmi_ssif.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/char/ipmi/ipmi_ssif.c b/drivers/char/ipmi/ipmi_ssif.c
index 67d23ed2d1a0..29082d99264e 100644
--- a/drivers/char/ipmi/ipmi_ssif.c
+++ b/drivers/char/ipmi/ipmi_ssif.c
@@ -742,10 +742,14 @@ static void msg_done_handler(struct ssif_info *ssif_info, int result,
flags = ipmi_ssif_lock_cond(ssif_info, &oflags);
msg = ssif_info->curr_msg;
if (msg) {
+ if (data) {
+ if (len > IPMI_MAX_MSG_LENGTH)
+ len = IPMI_MAX_MSG_LENGTH;
+ memcpy(msg->rsp, data, len);
+ } else {
+ len = 0;
+ }
msg->rsp_size = len;
- if (msg->rsp_size > IPMI_MAX_MSG_LENGTH)
- msg->rsp_size = IPMI_MAX_MSG_LENGTH;
- memcpy(msg->rsp, data, msg->rsp_size);
ssif_info->curr_msg = NULL;
}