aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211/mlme.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-02-24 07:50:53 -0500
committerJohn W. Linville <linville@tuxdriver.com>2012-02-29 14:11:34 -0500
commit02d83e60b9864e7920d87b49e1fbedffd32470f8 (patch)
tree39902588077df80fff31aacf5a1fc136e8f4cc7e /net/mac80211/mlme.c
parent5fef7dbcadbb85079d3bf56625dd12e6d2816e3d (diff)
mac80211: fix ieee80211_set_disassoc() sending DelBA
When ieee80211_set_disassoc() is called with the tx argument set to true, it will send DelBA out to the peer. This isn't useful or necessary in a few cases where we do it today, those being when we lost the connection or when the supplicant explicitly asked us to not tell the AP. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r--net/mac80211/mlme.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 82d49341eaa0..379a1d140161 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1684,7 +1684,7 @@ static void __ieee80211_connection_loss(struct ieee80211_sub_if_data *sdata)
1684 printk(KERN_DEBUG "%s: Connection to AP %pM lost.\n", 1684 printk(KERN_DEBUG "%s: Connection to AP %pM lost.\n",
1685 sdata->name, bssid); 1685 sdata->name, bssid);
1686 1686
1687 ieee80211_set_disassoc(sdata, true, true); 1687 ieee80211_set_disassoc(sdata, true, false);
1688 mutex_unlock(&ifmgd->mtx); 1688 mutex_unlock(&ifmgd->mtx);
1689 1689
1690 /* 1690 /*
@@ -2699,7 +2699,7 @@ static void ieee80211_sta_connection_lost(struct ieee80211_sub_if_data *sdata,
2699 ifmgd->flags &= ~(IEEE80211_STA_CONNECTION_POLL | 2699 ifmgd->flags &= ~(IEEE80211_STA_CONNECTION_POLL |
2700 IEEE80211_STA_BEACON_POLL); 2700 IEEE80211_STA_BEACON_POLL);
2701 2701
2702 ieee80211_set_disassoc(sdata, true, true); 2702 ieee80211_set_disassoc(sdata, true, false);
2703 mutex_unlock(&ifmgd->mtx); 2703 mutex_unlock(&ifmgd->mtx);
2704 /* 2704 /*
2705 * must be outside lock due to cfg80211, 2705 * must be outside lock due to cfg80211,
@@ -3500,7 +3500,7 @@ int ieee80211_mgd_disassoc(struct ieee80211_sub_if_data *sdata,
3500 sdata->name, req->bss->bssid, req->reason_code); 3500 sdata->name, req->bss->bssid, req->reason_code);
3501 3501
3502 memcpy(bssid, req->bss->bssid, ETH_ALEN); 3502 memcpy(bssid, req->bss->bssid, ETH_ALEN);
3503 ieee80211_set_disassoc(sdata, false, true); 3503 ieee80211_set_disassoc(sdata, false, !req->local_state_change);
3504 3504
3505 mutex_unlock(&ifmgd->mtx); 3505 mutex_unlock(&ifmgd->mtx);
3506 3506