ath11k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE if NSS ratio enabled
PATCH v2 1/1 ath11k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE if NSS ratio enabled
When NSS ratio enabled reported by firmware, SUPPORTS_VHT_EXT_NSS_BW is set in ath11k, meanwhile IEEE80211_VHT_EXT_NSS_BW_CAPABLE also need to be set, otherwise it is invalid because spec in IEEE Std 802.11™‐2020 as below.
Table 9-273-Supported VHT-MCS and NSS Set subfields, it has subfield VHT Extended NSS BW Capable, its definition is:
Indicates whether the STA is capable of interpreting the Extended NSS BW Support subfield of the VHT Capabilities Information field.
dmesg have a message without this patch:
[ 3143.177810] [5204] mac80211:ieee80211_register_hw:1258: ieee80211 phy0: copying sband (band 1) due to VHT EXT NSS BW flag
It means mac80211 will set IEEE80211_VHT_EXT_NSS_BW_CAPABLE if ath11k not set it in ieee80211_register_hw(). So it is better to set it in ath11k.
Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
---
v2: change commit log
1. "IEEE Std 802.11™-2016" -> "IEEE Std 802.11™‐2020"
2. "Table 9-251" -> "Table 9-273"
drivers/net/wireless/ath/ath11k/mac.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/net/wireless/ath/ath11k/mac.c +4 -0
@@ -4123,6 +4123,10 @@ ath11k_create_vht_cap(struct ath11k *ar, u32 rate_cap_tx_chainmask, vht_cap.vht_supported =1 ; vht_cap.cap = ar->pdev->cap.vht_cap; +if (ar->pdev->cap.nss_ratio_enabled) + vht_cap.vht_mcs.tx_highest |= +cpu_to_le16 (IEEE80211_VHT_EXT_NSS_BW_CAPABLE ); +ath11k_set_vht_txbf_cap (ar, &vht_cap.cap); rxmcs_map =0 ;
Signature · 1 line
2.31.1
Quoted 14 lines · Wen Gong
When NSS ratio enabled reported by firmware,
SUPPORTS_VHT_EXT_NSS_BWis set in ath11k, meanwhileIEEE80211_VHT_EXT_NSS_BW_CAPABLEalso need to be set, otherwise it is invalid because spec in IEEE Std 802.11™‐2020 as below.Table 9-273-Supported VHT-MCS and NSS Set subfields, it has subfield VHT Extended NSS BW Capable, its definition is:
Indicates whether the STA is capable of interpreting the Extended NSS BW Support subfield of the VHT Capabilities Information field.dmesg have a message without this patch:
ieee80211 phy0: copying sband (band 1) due to VHT EXT NSS BW flag
Quoted 7 lines
It means mac80211 will set
IEEE80211_VHT_EXT_NSS_BW_CAPABLEif ath11k not set it inieee80211_register_hw(). So it is better to set it in ath11k.Tested-on: WCN6855 hw2.0 PCI WLAN.HSP.1.1-01720.1-QCAHSPSWPL_V1_V2_SILICONZ_LITE-1
Signed-off-by Wen Gong <[email protected]>Signed-off-by Kalle Valo <[email protected]>
Patch applied to ath-next branch of ath.git, thanks.
78406044bdd0 ath11k: enable IEEE80211_VHT_EXT_NSS_BW_CAPABLE if NSS ratio enabled
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches