]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mt76: mt7925: fix get wrong chip cap from incorrect pointer
authorMing Yen Hsieh <mingyen.hsieh@mediatek.com>
Mon, 4 Nov 2024 05:14:47 +0000 (13:14 +0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 14 Jan 2025 12:34:34 +0000 (13:34 +0100)
Use tlv instead of skb, because using skb will get valid data
with wrong offset.

Fixes: 86c051f2c418 ("wifi: mt76: mt7925: enabling MLO when the firmware supports it")
Signed-off-by: Ming Yen Hsieh <mingyen.hsieh@mediatek.com>
Link: https://patch.msgid.link/20241104051447.4286-1-mingyen.hsieh@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7925/mcu.c

index a78883d4d6df0654415b6f99e4f59a9aedcf8e9d..b43617dbd5fde39dbf67b274ec707be259d5451a 100644 (file)
@@ -823,7 +823,7 @@ mt7925_mcu_get_nic_capability(struct mt792x_dev *dev)
                        mt7925_mcu_parse_phy_cap(dev, tlv->data);
                        break;
                case MT_NIC_CAP_CHIP_CAP:
-                       memcpy(&dev->phy.chip_cap, (void *)skb->data, sizeof(u64));
+                       dev->phy.chip_cap = le64_to_cpu(*(__le64 *)tlv->data);
                        break;
                case MT_NIC_CAP_EML_CAP:
                        mt7925_mcu_parse_eml_cap(dev, tlv->data);