[LEDE-DEV] [PATCH 2/3] firmware-utils: mktplinkfw2: fix info for images with LE kernel LA/EP

Rafał Miłecki zajec5 at gmail.com
Sun Jul 23 13:19:20 PDT 2017


From: Rafał Miłecki <rafal at milecki.pl>

With this change endianness is also respected when reading firmware
info.

Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
---
 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 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",
-- 
2.11.0




More information about the Lede-dev mailing list