From: Johannes Berg Date: Fri, 24 Feb 2012 12:50:53 +0000 (+0100) Subject: mac80211: fix ieee80211_set_disassoc() sending DelBA X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=02d83e60b9864e7920d87b49e1fbedffd32470f8;p=GitHub%2Fexynos8895%2Fandroid_kernel_samsung_universal8895.git 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 Signed-off-by: John W. Linville --- 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) printk(KERN_DEBUG "%s: Connection to AP %pM lost.\n", sdata->name, bssid); - ieee80211_set_disassoc(sdata, true, true); + ieee80211_set_disassoc(sdata, true, false); mutex_unlock(&ifmgd->mtx); /* @@ -2699,7 +2699,7 @@ static void ieee80211_sta_connection_lost(struct ieee80211_sub_if_data *sdata, ifmgd->flags &= ~(IEEE80211_STA_CONNECTION_POLL | IEEE80211_STA_BEACON_POLL); - ieee80211_set_disassoc(sdata, true, true); + ieee80211_set_disassoc(sdata, true, false); mutex_unlock(&ifmgd->mtx); /* * must be outside lock due to cfg80211, @@ -3500,7 +3500,7 @@ int ieee80211_mgd_disassoc(struct ieee80211_sub_if_data *sdata, sdata->name, req->bss->bssid, req->reason_code); memcpy(bssid, req->bss->bssid, ETH_ALEN); - ieee80211_set_disassoc(sdata, false, true); + ieee80211_set_disassoc(sdata, false, !req->local_state_change); mutex_unlock(&ifmgd->mtx);