summaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2022-06-29 12:01:41 +0200
committerJohannes Berg <johannes.berg@intel.com>2022-07-15 11:43:17 +0200
commitab3a830d96644522eec0cd379cec46d854548b11 (patch)
treea963a1d5531eacfcc7235116674240b400249e4d /net/mac80211
parent635495e9c43da6280ec05e10a5fc6b9b62cbafe3 (diff)
downloadlinux-ab3a830d96644522eec0cd379cec46d854548b11.tar.bz2
wifi: mac80211: move tdls_chan_switch_prohibited to link data
This value should be per link, since a TDLS connection is only established on a given link. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/cfg.c2
-rw-r--r--net/mac80211/ieee80211_i.h3
-rw-r--r--net/mac80211/mlme.c2
3 files changed, 4 insertions, 3 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
index 9214883eb0a8..e0ddecbb50aa 100644
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
@@ -1759,7 +1759,7 @@ static int sta_apply_parameters(struct ieee80211_local *local,
/* mark TDLS channel switch support, if the AP allows it */
if (test_sta_flag(sta, WLAN_STA_TDLS_PEER) &&
- !sdata->u.mgd.tdls_chan_switch_prohibited &&
+ !sdata->deflink.u.mgd.tdls_chan_switch_prohibited &&
params->ext_capab_len >= 4 &&
params->ext_capab[3] & WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH)
set_sta_flag(sta, WLAN_STA_TDLS_CHAN_SWITCH);
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 2cf13ea4c9f7..a8211ced719e 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -514,7 +514,6 @@ struct ieee80211_if_managed {
struct sk_buff *orig_teardown_skb; /* The original teardown skb */
struct sk_buff *teardown_skb; /* A copy to send through the AP */
spinlock_t teardown_lock; /* To lock changing teardown_skb */
- bool tdls_chan_switch_prohibited;
bool tdls_wider_bw_prohibited;
/* WMM-AC TSPEC support */
@@ -880,6 +879,8 @@ struct ieee80211_link_data_managed {
s16 p2p_noa_index;
+ bool tdls_chan_switch_prohibited;
+
bool have_beacon;
bool tracking_signal_avg;
bool disable_wmm_tracking;
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 6f25ac2055d5..267229462973 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -3504,7 +3504,7 @@ static bool ieee80211_assoc_success(struct ieee80211_sub_if_data *sdata,
}
sdata->vif.cfg.aid = aid;
- ifmgd->tdls_chan_switch_prohibited =
+ sdata->deflink.u.mgd.tdls_chan_switch_prohibited =
elems->ext_capab && elems->ext_capab_len >= 5 &&
(elems->ext_capab[4] & WLAN_EXT_CAPA5_TDLS_CH_SW_PROHIBITED);