mac80211: track AP and peer STA TDLS chan-switch support
The AP or peer can prohibit TDLS channel switch via a bit in the extended capabilities IE. Parse the IE and track this bit. Set an appropriate STA flag if both the AP and peer STA support TDLS channel-switching. Add the new STA flag and the missing TDLS_INITIATOR to debugfs. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Signed-off-by: Arik Nemtsov <arik@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
78632a17ea
commit
9041c1fa57
@@ -1042,6 +1042,13 @@ static int sta_apply_parameters(struct ieee80211_local *local,
|
||||
clear_sta_flag(sta, WLAN_STA_TDLS_PEER);
|
||||
}
|
||||
|
||||
/* 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 &&
|
||||
params->ext_capab_len >= 4 &&
|
||||
params->ext_capab[3] & WLAN_EXT_CAPA4_TDLS_CHAN_SWITCH)
|
||||
set_sta_flag(sta, WLAN_STA_TDLS_CHAN_SWITCH);
|
||||
|
||||
if (params->sta_modify_mask & STATION_PARAM_APPLY_UAPSD) {
|
||||
sta->sta.uapsd_queues = params->uapsd_queues;
|
||||
sta->sta.max_sp = params->max_sp;
|
||||
|
Reference in New Issue
Block a user