iwlwifi: mvm: use tdls indication from mac80211
authorJohannes Berg <johannes.berg@intel.com>
Mon, 4 Aug 2014 12:33:42 +0000 (14:33 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 3 Sep 2014 19:49:11 +0000 (22:49 +0300)
Instead of checking whether a given station is the first to
be added on a client interface check for the new TDLS flag
and warn in the unexpected cases.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/sta.c

index 960687bf92f9356e56c2a0fae5e6b731e142e169..ccfc256b710a8f7c79fd8493559ca0c106c252d1 100644 (file)
@@ -252,10 +252,14 @@ int iwl_mvm_add_sta(struct iwl_mvm *mvm,
        if (ret)
                return ret;
 
-       /* The first station added is the AP, the others are TDLS STAs */
-       if (vif->type == NL80211_IFTYPE_STATION &&
-           mvmvif->ap_sta_id == IWL_MVM_STATION_COUNT)
-               mvmvif->ap_sta_id = sta_id;
+       if (vif->type == NL80211_IFTYPE_STATION) {
+               if (!sta->tdls) {
+                       WARN_ON(mvmvif->ap_sta_id != IWL_MVM_STATION_COUNT);
+                       mvmvif->ap_sta_id = sta_id;
+               } else {
+                       WARN_ON(mvmvif->ap_sta_id == IWL_MVM_STATION_COUNT);
+               }
+       }
 
        rcu_assign_pointer(mvm->fw_id_to_mac_id[sta_id], sta);