From: Rafał Miłecki Date: Sun, 23 Jul 2017 20:19:20 +0000 (+0200) Subject: firmware-utils: mktplinkfw2: fix info for images with LE kernel LA/EP X-Git-Tag: v18.06.0-rc1~2438 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=35ddef8455d9c4719b77735813d506130b5c4144;p=oweals%2Fopenwrt.git firmware-utils: mktplinkfw2: fix info for images with LE kernel LA/EP With this change endianness is also respected when reading firmware info. Signed-off-by: Rafał Miłecki --- diff --git a/tools/firmware-utils/src/mktplinkfw2.c b/tools/firmware-utils/src/mktplinkfw2.c index 905220538b..f7bfed875f 100644 --- a/tools/firmware-utils/src/mktplinkfw2.c +++ b/tools/firmware-utils/src/mktplinkfw2.c @@ -793,6 +793,13 @@ static int inspect_fw(void) goto out_free_buf; hdr = (struct fw_header *)buf; + board = find_board_by_hwid(ntohl(hdr->hw_id)); + + if (board && board->flags & FLAG_LE_KERNEL_LA_EP) { + hdr->kernel_la = bswap_32(hdr->kernel_la); + hdr->kernel_ep = bswap_32(hdr->kernel_ep); + } + inspect_fw_pstr("File name", inspect_info.file_name); inspect_fw_phexdec("File size", inspect_info.file_size); @@ -838,7 +845,6 @@ static int inspect_fw(void) inspect_fw_pstr("Firmware version", hdr->fw_version); - board = find_board_by_hwid(ntohl(hdr->hw_id)); if (board) { layout = find_layout(board->layout_id); inspect_fw_phexpost("Hardware ID",