diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-02-24 07:50:53 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-02-29 14:11:34 -0500 |
commit | 02d83e60b9864e7920d87b49e1fbedffd32470f8 (patch) | |
tree | 39902588077df80fff31aacf5a1fc136e8f4cc7e /net/mac80211/mlme.c | |
parent | 5fef7dbcadbb85079d3bf56625dd12e6d2816e3d (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.c | 6 |
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 | ||