From 35ddef8455d9c4719b77735813d506130b5c4144 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Sun, 23 Jul 2017 22:19:20 +0200 Subject: [PATCH] firmware-utils: mktplinkfw2: fix info for images with LE kernel LA/EP MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit With this change endianness is also respected when reading firmware info. Signed-off-by: Rafał Miłecki --- tools/firmware-utils/src/mktplinkfw2.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/firmware-utils/src/mktplinkfw2.c b/tools/firmware-utils/src/mktplinkfw2.c index 905220538b11..f7bfed875f6c 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", -- 2.30.2