]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event
authorStanleyYP Wang <StanleyYP.Wang@mediatek.com>
Tue, 3 Feb 2026 15:55:30 +0000 (23:55 +0800)
committerFelix Fietkau <nbd@nbd.name>
Tue, 24 Mar 2026 15:49:30 +0000 (15:49 +0000)
The cid field is defined as a two-byte value in the firmware.

Fixes: 98686cd21624 ("wifi: mt76: mt7996: add driver for MediaTek Wi-Fi 7 (802.11be) devices")
Signed-off-by: StanleyYP Wang <StanleyYP.Wang@mediatek.com>
Signed-off-by: Shayne Chen <shayne.chen@mediatek.com>
Link: https://patch.msgid.link/20260203155532.1098290-2-shayne.chen@mediatek.com
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
drivers/net/wireless/mediatek/mt76/mt7996/mcu.h

index 27713399c31897bb77731c86974a9c0284d516ba..13182a69eec91fd4bca625572ad9a90e557a5dd8 100644 (file)
@@ -245,7 +245,7 @@ mt7996_mcu_parse_response(struct mt76_dev *mdev, int cmd,
                event = (struct mt7996_mcu_uni_event *)skb->data;
                ret = le32_to_cpu(event->status);
                /* skip invalid event */
-               if (mcu_cmd != event->cid)
+               if (mcu_cmd != le16_to_cpu(event->cid))
                        ret = -EAGAIN;
        } else {
                skb_pull(skb, sizeof(struct mt7996_mcu_rxd));
index 905dafccc316193e1eaecb375d926074bfa7721a..39df1367977954e2afb86b479ddaf77b3cf210cd 100644 (file)
@@ -25,8 +25,8 @@ struct mt7996_mcu_rxd {
 };
 
 struct mt7996_mcu_uni_event {
-       u8 cid;
-       u8 __rsv[3];
+       __le16 cid;
+       u8 __rsv[2];
        __le32 status; /* 0: success, others: fail */
 } __packed;