summaryrefslogtreecommitdiffstats
path: root/discover
diff options
context:
space:
mode:
authorMaxim Polyakov <m.polyakov@yadro.com>2019-07-08 12:13:18 +0300
committerJeremy Kerr <jk@ozlabs.org>2019-10-08 14:31:09 +0800
commit5f8321eb6479113a09c771c49e6781571ec8e2e2 (patch)
treeedcc42f2f5747c52f3e63ceac0da149ed5dfaccb /discover
parent1088a8ab532bfe008a714613497909d19bcfb8c4 (diff)
downloadtalos-petitboot-5f8321eb6479113a09c771c49e6781571ec8e2e2.tar.gz
talos-petitboot-5f8321eb6479113a09c771c49e6781571ec8e2e2.zip
discover/platform-powerpc: return the actual mailbox size
get_ipmi_boot_mailbox_block() should return the actual size of the received IPMI mailbox data Signed-off-by: Maxim Polyakov <m.polyakov@yadro.com>
Diffstat (limited to 'discover')
-rw-r--r--discover/platform-powerpc.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/discover/platform-powerpc.c b/discover/platform-powerpc.c
index 1e33bf1..c874560 100644
--- a/discover/platform-powerpc.c
+++ b/discover/platform-powerpc.c
@@ -473,12 +473,7 @@ static int get_ipmi_boot_mailbox_block(struct platform_powerpc *platform,
return -1;
}
- if (resp_len == 4) {
- pb_debug_fn("block %hu empty\n", block);
- return 0;
- }
-
- blocksize = sizeof(resp) - 4;
+ blocksize = resp_len - 4;
pb_debug_fn("Mailbox block %hu returns only %zu bytes in block\n",
block, blocksize);
@@ -512,6 +507,12 @@ static int get_ipmi_boot_mailbox_block(struct platform_powerpc *platform,
return -1;
}
+ if (!blocksize) {
+ pb_debug_fn("block %hu empty\n", block);
+ return 0;
+ }
+
+
memcpy(buf, &resp[4], blocksize);
return blocksize;
OpenPOWER on IntegriCloud