aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPing-Ke Shih <[email protected]>2022-03-07 01:27:41 +0000
committerKalle Valo <[email protected]>2022-03-09 11:39:53 +0000
commit12b604d4ba693a3aa254cf7f9d0b4835770e9e97 (patch)
tree5076fed1e14f4e588e0d202bfd2e4b8c3e793bc6
parentrtw89: fix HE PHY bandwidth capability (diff)
downloadkernel-12b604d4ba693a3aa254cf7f9d0b4835770e9e97.tar.gz
kernel-12b604d4ba693a3aa254cf7f9d0b4835770e9e97.zip
rtw89: declare HE capabilities in 6G band
To work properly in 6G band, declare HE 6G capabilities. Without this fix, it can only TX/RX with OFDM rates. Signed-off-by: Ping-Ke Shih <[email protected]> Signed-off-by: Kalle Valo <[email protected]> Link: https://lore.kernel.org/r/[email protected]
-rw-r--r--drivers/net/wireless/realtek/rtw89/core.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
index f9ebf34f9a6e..a93555b0a2bf 100644
--- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/drivers/net/wireless/realtek/rtw89/core.c
@@ -2434,6 +2434,18 @@ static void rtw89_init_he_cap(struct rtw89_dev *rtwdev,
he_cap->he_mcs_nss_supp.tx_mcs_160 = cpu_to_le16(mcs_map);
}
+ if (band == NL80211_BAND_6GHZ) {
+ __le16 capa;
+
+ capa = le16_encode_bits(IEEE80211_HT_MPDU_DENSITY_NONE,
+ IEEE80211_HE_6GHZ_CAP_MIN_MPDU_START) |
+ le16_encode_bits(IEEE80211_VHT_MAX_AMPDU_1024K,
+ IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP) |
+ le16_encode_bits(IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454,
+ IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN);
+ iftype_data[idx].he_6ghz_capa.capa = capa;
+ }
+
idx++;
}