mt76: mt7615: fix mt7663e firmware struct endianness
authorLorenzo Bianconi <lorenzo@kernel.org>
Wed, 18 Mar 2020 12:41:03 +0000 (13:41 +0100)
committerKalle Valo <kvalo@codeaurora.org>
Mon, 23 Mar 2020 17:34:28 +0000 (19:34 +0200)
Convert fields in mt7663_fw_trailer and mt7663_fw_buf to little-endian

Reported-by: kbuild test robot <lkp@intel.com>
Fixes: f40ac0f3d3c0 ("mt76: mt7615: introduce mt7663e support")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/d14dfd7cd91a4dda8c5dcd03e8a70ff11314182e.1584534454.git.lorenzo@kernel.org
drivers/net/wireless/mediatek/mt76/mt7615/mcu.c

index 50c98913d81d7d866bbbfda9bdac58a474f2c658..9978f6bb22ab19673c153c9b91dfd094b6ca71df 100644 (file)
@@ -44,16 +44,16 @@ struct mt7663_fw_trailer {
        u8 reserv[2];
        char fw_ver[10];
        char build_date[15];
-       u32 crc;
+       __le32 crc;
 } __packed;
 
 struct mt7663_fw_buf {
-       u32 crc;
-       u32 d_img_size;
-       u32 block_size;
+       __le32 crc;
+       __le32 d_img_size;
+       __le32 block_size;
        u8 rsv[4];
-       u32 img_dest_addr;
-       u32 img_size;
+       __le32 img_dest_addr;
+       __le32 img_size;
        u8 feature_set;
 };
 
@@ -1896,7 +1896,7 @@ static int mt7663_load_n9(struct mt7615_dev *dev, const char *name)
                        goto out;
                }
 
-               offset += buf->img_size;
+               offset += le32_to_cpu(buf->img_size);
                if (buf->feature_set & DL_MODE_VALID_RAM_ENTRY) {
                        override_addr = le32_to_cpu(buf->img_dest_addr);
                        dev_info(dev->mt76.dev, "Region %d, override_addr = 0x%08x\n",