blob: 590007975005839674a38510b437f99f1b865ad0 [file] [log] [blame]
developer60fd9032024-03-06 22:46:42 +08001From 2df4c19784f0d37e9beaa3282bb855f8b4231bf7 Mon Sep 17 00:00:00 2001
2From: Howard Hsu <howard-yh.hsu@mediatek.com>
3Date: Wed, 6 Mar 2024 20:51:19 +0800
4Subject: [PATCH] wifi: mt76: mt7915: fix HE PHY capabilities IE for station
5 mode
6
7Set correct beamformer capabilities for station vif in HE PHY
8capabilities IE.
9
10Signed-off-by: Howard Hsu <howard-yh.hsu@mediatek.com>
11---
12 mt7915/init.c | 8 ++++++--
13 1 file changed, 6 insertions(+), 2 deletions(-)
14
15diff --git a/mt7915/init.c b/mt7915/init.c
16index 6ba9843..08e9818 100644
17--- a/mt7915/init.c
18+++ b/mt7915/init.c
19@@ -939,11 +939,10 @@ mt7915_set_stream_he_txbf_caps(struct mt7915_phy *phy,
20 /* the maximum cap is 4 x 3, (Nr, Nc) = (3, 2) */
21 elem->phy_cap_info[7] |= min_t(int, sts - 1, 2) << 3;
22
23- if (vif != NL80211_IFTYPE_AP)
24+ if (vif != NL80211_IFTYPE_AP || vif != NL80211_IFTYPE_STATION)
25 return;
26
27 elem->phy_cap_info[3] |= IEEE80211_HE_PHY_CAP3_SU_BEAMFORMER;
28- elem->phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER;
29
30 c = FIELD_PREP(IEEE80211_HE_PHY_CAP5_BEAMFORMEE_NUM_SND_DIM_UNDER_80MHZ_MASK,
31 sts - 1);
32@@ -952,6 +951,11 @@ mt7915_set_stream_he_txbf_caps(struct mt7915_phy *phy,
33 sts_160 - 1);
34 elem->phy_cap_info[5] |= c;
35
36+ if (vif != NL80211_IFTYPE_AP)
37+ return;
38+
39+ elem->phy_cap_info[4] |= IEEE80211_HE_PHY_CAP4_MU_BEAMFORMER;
40+
41 c = IEEE80211_HE_PHY_CAP6_TRIG_SU_BEAMFORMING_FB |
42 IEEE80211_HE_PHY_CAP6_TRIG_MU_BEAMFORMING_PARTIAL_BW_FB;
43 elem->phy_cap_info[6] |= c;
44--
452.18.0
46