On 2020-05-08 15:53, Pradeep Kumar Chitrapu wrote:
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index b4dfefd482a6..9115dc9c7d78 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -163,6 +163,9 @@ ieee80211_determine_chantype(struct
ieee80211_sub_if_data *sdata,
chandef->width = NL80211_CHAN_WIDTH_20_NOHT;
chandef->center_freq1 = channel->center_freq;
+ if (channel->band == NL80211_BAND_6GHZ)
+ goto skip_ht_vht_oper;
+
if (!ht_oper || !sta_ht_cap.ht_supported) {
ret = IEEE80211_STA_DISABLE_HT |
IEEE80211_STA_DISABLE_VHT |
@@ -263,6 +266,15 @@ ieee80211_determine_chantype(struct
ieee80211_sub_if_data *sdata,
*chandef = vht_chandef;
+skip_ht_vht_oper:
+ if (!ieee80211_chandef_he_oper(sdata, he_oper, chandef)) {
+ if (!(ifmgd->flags & IEEE80211_STA_DISABLE_HE))
+ sdata_info(sdata,
+ "AP HE information is invalid, disable HE\n");
+ ret = IEEE80211_STA_DISABLE_HE;
+ goto out;
+ }
+
Hi Rajkumar,
Above is causing to disable HE in STA mode even when AP supports HE.
Shouldn't this be done only for 6GHz band?
something like below?
if (channel->band == NL80211_BAND_6GHZ &&
!ieee80211_chandef_he_oper(sdata, he_oper, chandef))
Good catch.
+
+ he_cap = ieee80211_get_he_iftype_cap(sband, sdata->vif.type);
+ if (!he_cap)
+ return false;
+
or return true here if band is not NL80211_BAND_6GHZ?
Make sense. Will address it.
-Rajkumar