summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorLiad Kaufman <liad.kaufman@intel.com>2014-10-06 19:08:56 +0200
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2014-11-24 08:30:23 +0200
commit9c126cd6e0ce8f02b7271b59c096598c55aa31d0 (patch)
tree7fec44b41c35a18cc810b5b5743b91abf927dc6e /drivers
parenta0f6bf2a5b018bcee93e4dece903589a8bb6062b (diff)
downloadlinux-9c126cd6e0ce8f02b7271b59c096598c55aa31d0.tar.bz2
iwlwifi: mvm: block TID when using TDLS
Block TID 4 (VI) on a vif when using TDLS. This TID will be used by FW for TDLS channel-switch requests and PTI requests. Signed-off-by: Liad Kaufman <liad.kaufman@intel.com> Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/mac80211.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
index 64e89e89140c..5aedf9dbf23c 100644
--- a/drivers/net/wireless/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/mvm/mac80211.c
@@ -2186,6 +2186,15 @@ static int iwl_mvm_mac_sta_state(struct ieee80211_hw *hw,
out_unlock:
mutex_unlock(&mvm->mutex);
+ if (sta->tdls && ret == 0) {
+ if (old_state == IEEE80211_STA_NOTEXIST &&
+ new_state == IEEE80211_STA_NONE)
+ ieee80211_reserve_tid(sta, IWL_MVM_TDLS_FW_TID);
+ else if (old_state == IEEE80211_STA_NONE &&
+ new_state == IEEE80211_STA_NOTEXIST)
+ ieee80211_unreserve_tid(sta, IWL_MVM_TDLS_FW_TID);
+ }
+
return ret;
}