firmware-utils: mktplinkfw2: respect -e option when reading fw info
authorRafał Miłecki <rafal@milecki.pl>
Sun, 23 Jul 2017 20:19:21 +0000 (22:19 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Mon, 31 Jul 2017 09:43:42 +0000 (11:43 +0200)
When -e option it specified a corresponding flag is set in the
custom_board. By using custom_board as fallback -e option gets respected
for unknown boards.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
tools/firmware-utils/src/mktplinkfw2.c

index f7bfed8..56330c0 100644 (file)
@@ -794,8 +794,10 @@ static int inspect_fw(void)
        hdr = (struct fw_header *)buf;
 
        board = find_board_by_hwid(ntohl(hdr->hw_id));
+       if (!board)
+               board = &custom_board;
 
-       if (board && board->flags & FLAG_LE_KERNEL_LA_EP) {
+       if (board->flags & FLAG_LE_KERNEL_LA_EP) {
                hdr->kernel_la = bswap_32(hdr->kernel_la);
                hdr->kernel_ep = bswap_32(hdr->kernel_ep);
        }
@@ -845,7 +847,7 @@ static int inspect_fw(void)
 
        inspect_fw_pstr("Firmware version", hdr->fw_version);
 
-       if (board) {
+       if (board != &custom_board) {
                layout = find_layout(board->layout_id);
                inspect_fw_phexpost("Hardware ID",
                                    ntohl(hdr->hw_id), board->id);
@@ -872,7 +874,7 @@ static int inspect_fw(void)
                           ntohl(hdr->kernel_ofs));
        inspect_fw_phexdec("Kernel data length",
                           ntohl(hdr->kernel_len));
-       if (board) {
+       if (board != &custom_board) {
                inspect_fw_phexdef("Kernel load address",
                                   ntohl(hdr->kernel_la),
                                   layout ? layout->kernel_la : 0xffffffff);