Browse Source

iwlwifi: mvm: use tdls indication from mac80211

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>
Johannes Berg 11 years ago
parent
commit
9e848010bf
1 changed files with 8 additions and 4 deletions
  1. 8 4
      drivers/net/wireless/iwlwifi/mvm/sta.c

+ 8 - 4
drivers/net/wireless/iwlwifi/mvm/sta.c

@@ -252,10 +252,14 @@ int iwl_mvm_add_sta(struct iwl_mvm *mvm,
 	if (ret)
 	if (ret)
 		return 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);
 	rcu_assign_pointer(mvm->fw_id_to_mac_id[sta_id], sta);