wifi: mac80211: fix probe req HE capabilities access
authorJames Prestwood <prestwoj@gmail.com>
Wed, 28 Sep 2022 22:49:10 +0000 (15:49 -0700)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 7 Oct 2022 12:39:47 +0000 (14:39 +0200)
When building the probe request IEs HE support is checked for
the 6GHz band (wiphy->bands[NL80211_BAND_6GHZ]). If supported
the HE capability IE should be included according to the spec.
The problem is the 16-bit capability is obtained from the
band object (sband) that was passed in, not the 6GHz band
object (sband6). If the sband object doesn't support HE it will
result in a warning.

Fixes: 7d29bc50b30e ("mac80211: always include HE 6GHz capability in probe request")
Signed-off-by: James Prestwood <prestwoj@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/util.c

index bf7461c41beff2cabc6ec0a15417678270e1ec5d..1e929b82deef42bd1149e2487e88cd315e6ac33a 100644 (file)
@@ -2046,7 +2046,7 @@ static int ieee80211_build_preq_ies_band(struct ieee80211_sub_if_data *sdata,
                if (he_cap) {
                        enum nl80211_iftype iftype =
                                ieee80211_vif_type_p2p(&sdata->vif);
-                       __le16 cap = ieee80211_get_he_6ghz_capa(sband, iftype);
+                       __le16 cap = ieee80211_get_he_6ghz_capa(sband6, iftype);
 
                        pos = ieee80211_write_he_6ghz_cap(pos, cap, end);
                }