diff mbox

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

Message ID 20170723201921.6893-2-zajec5@gmail.com
State Accepted
Delegated to: Rafał Miłecki
Headers show

Commit Message

Rafał Miłecki July 23, 2017, 8:19 p.m. UTC
From: Rafał Miłecki <rafal@milecki.pl>

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

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 tools/firmware-utils/src/mktplinkfw2.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox

Patch

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",