blob: 2a00de34d907aa0debfbca5b4b1fdb2af2c03a8c [file] [log] [blame]
developer66e89bc2024-04-23 14:50:01 +08001From 86ac4d3c181a20f2cf093d2502d8a6e4f1054a3d Mon Sep 17 00:00:00 2001
2From: "sujuan.chen" <sujuan.chen@mediatek.com>
3Date: Thu, 18 May 2023 15:01:47 +0800
4Subject: [PATCH 061/116] mtk: wifi: mt76: mt7996: reset addr_elem when delete
5 ba
6
7The old addr element info may be used when the signature is not equel to
80xff, and sta will find error SDP cause the SDP/SDL=0 issue.
9
10Signed-off-by: sujuan.chen <sujuan.chen@mediatek.com>
11Change-Id: I12fb27e28b2c0310f824e66af6103b4ceba3503e
12
131. without this patch will delete wrong session id when delete ba.
14Due to fw change the cmd format.
15https://gerrit.mediatek.inc/c/neptune/firmware/bora/wifi/custom/+/7969193
16
17Signed-off-by: mtk27745 <rex.lu@mediatek.com>
18CR-Id: WCNCR00259516
19Change-Id: I456a5d3eb2320a2c40cf57247ba63083a6d50b2e
20---
21 mt76.h | 1 +
22 mt7996/mcu.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++
23 2 files changed, 47 insertions(+)
24
25diff --git a/mt76.h b/mt76.h
26index aecd0a7cd..b3a5f9c12 100644
27--- a/mt76.h
28+++ b/mt76.h
29@@ -444,6 +444,7 @@ struct mt76_rx_tid {
30 u16 nframes;
31
32 u8 num;
33+ u16 session_id;
34
35 u8 started:1, stopped:1, timer_pending:1;
36
37diff --git a/mt7996/mcu.h b/mt7996/mcu.h
38index ca78cd506..3c4ff7a5c 100644
39--- a/mt7996/mcu.h
40+++ b/mt7996/mcu.h
41@@ -298,6 +298,52 @@ struct mt7996_mcu_thermal_notify {
42 u8 __rsv2[4];
43 } __packed;
44
45+struct mt7996_mcu_rro_event {
46+ struct mt7996_mcu_rxd rxd;
47+
48+ u8 __rsv1[4];
49+
50+ __le16 tag;
51+ __le16 len;
52+} __packed;
53+
54+struct mt7996_mcu_rro_ba {
55+ __le16 tag;
56+ __le16 len;
57+
58+ __le16 wlan_id;
59+ u8 tid;
60+ u8 __rsv1;
61+ __le32 status;
62+ __le16 session_id;
63+ u8 __rsv2[2];
64+} __packed;
65+
66+struct mt7996_mcu_rro_ba_del_chk_done {
67+ __le16 tag;
68+ __le16 len;
69+
70+ __le16 session_id;
71+ __le16 mld_id;
72+ u8 tid;
73+ u8 __rsv[3];
74+} __packed;
75+
76+enum {
77+ UNI_RRO_BA_SESSION_STATUS = 0,
78+ UNI_RRO_BA_SESSION_TBL = 1,
79+ UNI_RRO_BA_SESSION_DEL_CHK_DONE = 2,
80+ UNI_RRO_BA_SESSION_MAX_NUM
81+};
82+
83+struct mt7996_mcu_rro_del_ba {
84+ struct mt7996_mcu_rro_event event;
85+
86+ u8 wlan_idx;
87+ u8 tid;
88+ u8 __rsv2[2];
89+};
90+
91 enum mt7996_chan_mib_offs {
92 UNI_MIB_OBSS_AIRTIME = 26,
93 UNI_MIB_NON_WIFI_TIME = 27,
94--
952.39.2
96