wifi: mt76: mt7915: fix tlv length of mt7915_mcu_get_chan_mib_info
authorRyder Lee <ryder.lee@mediatek.com>
Wed, 26 Jul 2023 18:35:05 +0000 (02:35 +0800)
committerFelix Fietkau <nbd@nbd.name>
Mon, 31 Jul 2023 08:56:28 +0000 (10:56 +0200)
Correct per-device TLV lengths to avoid invalid operation in firmware.
(  64.040375:28:STATS-E)statsGetSingleHWCounter: MIB counter index = 65472 not supported.
This happens on mt7916/mt7986.

Fixes: b0bfa00595be ("wifi: mt76: mt7915: improve accuracy of time_busy calculation")
Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7915/mcu.c

index 5f4c294..50ae7bf 100644 (file)
@@ -3038,7 +3038,7 @@ int mt7915_mcu_get_chan_mib_info(struct mt7915_phy *phy, bool chan_switch)
        }
 
        ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_CMD(GET_MIB_INFO),
-                                       req, sizeof(req), true, &skb);
+                                       req, len * sizeof(req[0]), true, &skb);
        if (ret)
                return ret;