aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorWill Hawkins <hawkinsw@opentechinstitute.org>2012-06-19 17:59:13 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-06-20 14:03:42 -0400
commit452a6d22615bb8262a932b362f41fc5d89f03293 (patch)
tree7eb8d44a25956a2ddceaa0331fa371b17a89ec8d /net/mac80211
parent6abe0563224f8540c88e1d84d2bb394bd408c951 (diff)
mac80211: send auth in IBSS only if userspace isn't handling it
Check the auth frame registration count before sending "open system" authentication messages when a new station registers on a particular IBSS network. This stops us from sending out multiple authentication messages with different authentication algorithms. Signed-off-by: Will Hawkins <hawkinsw@opentechinstitute.org> [reword commit message a bit] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/ibss.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c
index 725cb4be229d..ff46ff424941 100644
--- a/net/mac80211/ibss.c
+++ b/net/mac80211/ibss.c
@@ -279,7 +279,7 @@ static struct sta_info *ieee80211_ibss_finish_sta(struct sta_info *sta,
279 /* If it fails, maybe we raced another insertion? */ 279 /* If it fails, maybe we raced another insertion? */
280 if (sta_info_insert_rcu(sta)) 280 if (sta_info_insert_rcu(sta))
281 return sta_info_get(sdata, addr); 281 return sta_info_get(sdata, addr);
282 if (auth) { 282 if (auth && !sdata->u.ibss.auth_frame_registrations) {
283 ibss_vdbg("TX Auth SA=%pM DA=%pM BSSID=%pM (auth_transaction=1)\n", 283 ibss_vdbg("TX Auth SA=%pM DA=%pM BSSID=%pM (auth_transaction=1)\n",
284 sdata->vif.addr, sdata->u.ibss.bssid, addr); 284 sdata->vif.addr, sdata->u.ibss.bssid, addr);
285 ieee80211_send_auth(sdata, 1, WLAN_AUTH_OPEN, NULL, 0, 285 ieee80211_send_auth(sdata, 1, WLAN_AUTH_OPEN, NULL, 0,