Search Linux Wireless

[PATCH] wifi: mac80211: always mark 6 GHz BSS as QoS/EDCA capable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In 6 GHz, QoS/EDCA operation is mandatory as per IEEE 802.11ax/802.11be.
APs are not required to include a WMM Information or WMM Parameter
element in Beacon or Probe Response frames, unlike in 2.4/5 GHz.
Instead, stations must assume that QoS is always enabled and use EDCA
(default EDCA parameters apply if no explicit EDCA Parameter Set is
present).

Currently, mac80211 only sets bss->wmm_used when a WMM IE is present.
When it is missing in 6 GHz, mac80211 wrongly downgrades the connection
to legacy rates, resulting in unsuccessful authentication and association.

Users see log messages like

    "WMM/QoS not supported, limiting to legacy"
    "Rejecting non-HE 6/7 GHz connection"

Fix this by unconditionally setting bss->wmm_used = true for 6 GHz BSSs
during scan result processing. This ensures that mac80211 maintains HE/EHT
capabilities even when the WMM IE is absent.

Signed-off-by: Jeff Isaacs <scaasiffej@xxxxxxxxx>
---
 net/mac80211/scan.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c
index dbf98aa4cd67..ecf0690d8c08 100644
--- a/net/mac80211/scan.c
+++ b/net/mac80211/scan.c
@@ -142,6 +142,10 @@ void ieee80211_inform_bss(struct wiphy *wiphy,
 			bss->valid_data |= IEEE80211_BSS_VALID_WMM;
 	}
 
+	if (cbss->channel->band == NL80211_BAND_6GHZ) {
+		bss->wmm_used = true;
+	}
+
 	if (update_data->beacon) {
 		struct ieee80211_supported_band *sband =
 			local->hw.wiphy->bands[rx_status->band];
-- 
2.51.0





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux