wifi: mac80211: tdls: use ieee80211_put_he_6ghz_cap()
authorJohannes Berg <johannes.berg@intel.com>
Mon, 29 Jan 2024 19:19:31 +0000 (20:19 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 8 Feb 2024 14:00:43 +0000 (15:00 +0100)
We don't need to use the write function here since we already
have an SKB, so use ieee80211_put_he_6ghz_cap() with the SMPS
mode taken from the link we're using.

Link: https://msgid.link/20240129202041.6454ac78ff8c.I7152e3c27645105478c68d40ca493feb27cac6bf@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/mac80211/ieee80211_i.h
net/mac80211/tdls.c
net/mac80211/util.c

index 2b5d49399500d9457725c43d93a7e511b4e9ab3f..f7b2381878a96fedb884b7951308718b26f6d16f 100644 (file)
@@ -2457,7 +2457,6 @@ void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
                                    const u8 *da, const u8 *bssid,
                                    u16 stype, u16 reason,
                                    bool send_frame, u8 *frame_buf);
-u8 *ieee80211_write_he_6ghz_cap(u8 *pos, __le16 cap, u8 *end);
 
 enum {
        IEEE80211_PROBE_FLAG_DIRECTED           = BIT(0),
index 57673f27daf4e1a6d41adc3feb1f1bdc29af35b9..e6808b7660ff5fcc262c1215b51fedfb817e3a2b 100644 (file)
@@ -552,7 +552,6 @@ ieee80211_tdls_add_setup_start_ies(struct ieee80211_link_data *link,
            (action_code == WLAN_TDLS_SETUP_REQUEST ||
             action_code == WLAN_TDLS_SETUP_RESPONSE ||
             action_code == WLAN_PUB_ACTION_TDLS_DISCOVER_RES)) {
-               __le16 he_6ghz_capa;
                u8 cap_size;
 
                cap_size =
@@ -564,14 +563,8 @@ ieee80211_tdls_add_setup_start_ies(struct ieee80211_link_data *link,
                pos = ieee80211_ie_build_he_cap(NULL, he_cap, pos, pos + cap_size);
 
                /* Build HE 6Ghz capa IE from sband */
-               if (sband->band == NL80211_BAND_6GHZ) {
-                       cap_size = 2 + 1 + sizeof(struct ieee80211_he_6ghz_capa);
-                       pos = skb_put(skb, cap_size);
-                       he_6ghz_capa =
-                               ieee80211_get_he_6ghz_capa_vif(sband, &sdata->vif);
-                       pos = ieee80211_write_he_6ghz_cap(pos, he_6ghz_capa,
-                                                         pos + cap_size);
-               }
+               if (sband->band == NL80211_BAND_6GHZ)
+                       ieee80211_put_he_6ghz_cap(skb, sdata, link->smps_mode);
        }
 
        /* add any custom IEs that go before EHT capabilities */
index e8de82bafeefbeb2814b10df5e7b044206cc5b3e..c90f338b229c840557c82538361c5ba3939541a8 100644 (file)
@@ -2035,7 +2035,7 @@ void ieee80211_send_deauth_disassoc(struct ieee80211_sub_if_data *sdata,
        }
 }
 
-u8 *ieee80211_write_he_6ghz_cap(u8 *pos, __le16 cap, u8 *end)
+static u8 *ieee80211_write_he_6ghz_cap(u8 *pos, __le16 cap, u8 *end)
 {
        if ((end - pos) < 5)
                return pos;