2020-09-18 11:57:08

by John Crispin

[permalink] [raw]
Subject: [PATCH] mac80211: fix 80mhz assoc to 160/80p80 on 6GHz

Trying to associcate to an AP on 6GHz with a STA that only has 80Mhz
the cf2 field inside the chandef will get set causing the assoc to fail
when trying to validate the chandef. Fix this by checking the support flags
prior to setting cf2.

Signed-off-by: John Crispin <[email protected]>
---
net/mac80211/util.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/net/mac80211/util.c b/net/mac80211/util.c
index c8504ffc71a1..8d3bfc0fe176 100644
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -3353,9 +3353,10 @@ bool ieee80211_chandef_he_6ghz_oper(struct ieee80211_sub_if_data *sdata,
he_chandef.center_freq1 =
ieee80211_channel_to_frequency(he_6ghz_oper->ccfs0,
NL80211_BAND_6GHZ);
- he_chandef.center_freq2 =
- ieee80211_channel_to_frequency(he_6ghz_oper->ccfs1,
- NL80211_BAND_6GHZ);
+ if (support_80_80 || support_160)
+ he_chandef.center_freq2 =
+ ieee80211_channel_to_frequency(he_6ghz_oper->ccfs1,
+ NL80211_BAND_6GHZ);
}

if (!cfg80211_chandef_valid(&he_chandef)) {
--
2.25.1