diff options
Diffstat (limited to 'discover/platform-powerpc.c')
-rw-r--r-- | discover/platform-powerpc.c | 13 |
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; |