blob: 15588fe7cd541e7208f293830d14e1a9eb64f703 [file] [log] [blame]
developer05f3b2b2024-08-19 19:17:34 +08001From 3c7126f27c9a7a68514c4eb134203576db47cd82 Mon Sep 17 00:00:00 2001
developer66e89bc2024-04-23 14:50:01 +08002From: Michael-CY Lee <michael-cy.lee@mediatek.com>
3Date: Tue, 14 Nov 2023 11:27:06 +0800
developer05f3b2b2024-08-19 19:17:34 +08004Subject: [PATCH 054/199] mtk: mt76: mt7996: assign DEAUTH to ALTX queue for
5 CERT
developer66e89bc2024-04-23 14:50:01 +08006
7Signed-off-by: Michael-CY Lee <michael-cy.lee@mediatek.com>
developer66e89bc2024-04-23 14:50:01 +08008---
9 mt7996/mac.c | 10 ++++++++++
10 1 file changed, 10 insertions(+)
11
12diff --git a/mt7996/mac.c b/mt7996/mac.c
developer05f3b2b2024-08-19 19:17:34 +080013index 90e8e7b1..bcddff23 100644
developer66e89bc2024-04-23 14:50:01 +080014--- a/mt7996/mac.c
15+++ b/mt7996/mac.c
developer05f3b2b2024-08-19 19:17:34 +080016@@ -747,6 +747,8 @@ static void
developer66e89bc2024-04-23 14:50:01 +080017 mt7996_mac_write_txwi_80211(struct mt7996_dev *dev, __le32 *txwi,
18 struct sk_buff *skb, struct ieee80211_key_conf *key)
19 {
20+ struct mt76_phy *mphy =
21+ mt76_dev_phy(&dev->mt76, le32_get_bits(txwi[1], MT_TXD1_TGID));
22 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
23 struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)skb->data;
24 struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
developer05f3b2b2024-08-19 19:17:34 +080025@@ -756,6 +758,14 @@ mt7996_mac_write_txwi_80211(struct mt7996_dev *dev, __le32 *txwi,
developer66e89bc2024-04-23 14:50:01 +080026 u8 fc_type, fc_stype;
27 u32 val;
28
29+ if (ieee80211_is_cert_mode(mphy->hw) && ieee80211_is_deauth(fc)) {
30+ /* In WPA3 cert TC-4.8.1, the deauth must be transmitted without
31+ * considering PSM bit
32+ */
33+ txwi[0] &= ~cpu_to_le32(MT_TXD0_Q_IDX);
34+ txwi[0] |= cpu_to_le32(FIELD_PREP(MT_TXD0_Q_IDX, MT_LMAC_ALTX0));
35+ }
36+
37 if (ieee80211_is_action(fc) &&
38 mgmt->u.action.category == WLAN_CATEGORY_BACK &&
39 mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ)
40--
developer9237f442024-06-14 17:13:04 +0800412.18.0
developer66e89bc2024-04-23 14:50:01 +080042