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>
This commit is contained in:
Родитель
5fef7dbcad
Коммит
02d83e60b9
|
@ -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",
|
printk(KERN_DEBUG "%s: Connection to AP %pM lost.\n",
|
||||||
sdata->name, bssid);
|
sdata->name, bssid);
|
||||||
|
|
||||||
ieee80211_set_disassoc(sdata, true, true);
|
ieee80211_set_disassoc(sdata, true, false);
|
||||||
mutex_unlock(&ifmgd->mtx);
|
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 |
|
ifmgd->flags &= ~(IEEE80211_STA_CONNECTION_POLL |
|
||||||
IEEE80211_STA_BEACON_POLL);
|
IEEE80211_STA_BEACON_POLL);
|
||||||
|
|
||||||
ieee80211_set_disassoc(sdata, true, true);
|
ieee80211_set_disassoc(sdata, true, false);
|
||||||
mutex_unlock(&ifmgd->mtx);
|
mutex_unlock(&ifmgd->mtx);
|
||||||
/*
|
/*
|
||||||
* must be outside lock due to cfg80211,
|
* 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);
|
sdata->name, req->bss->bssid, req->reason_code);
|
||||||
|
|
||||||
memcpy(bssid, req->bss->bssid, ETH_ALEN);
|
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);
|
mutex_unlock(&ifmgd->mtx);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче