Commit 3b7ee69d authored by Tomas Winkler's avatar Tomas Winkler Committed by John W. Linville

mac80211: disassociate when moving to new BSS

This patch makes the MLME cleanly disassociate from the current BSS
when leaving it for a new one. This is not just nicer to the old AP
(we're leaving it, might as well tell it!) but also required for some
drivers that keep track of the station we're associated with, they'd
get confused because they'd think we are associated with two APs.
Signed-off-by: default avatarRon Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent aa458d17
...@@ -3274,6 +3274,11 @@ void ieee80211_sta_req_auth(struct ieee80211_sub_if_data *sdata, ...@@ -3274,6 +3274,11 @@ void ieee80211_sta_req_auth(struct ieee80211_sub_if_data *sdata,
IEEE80211_STA_AUTO_BSSID_SEL)) && IEEE80211_STA_AUTO_BSSID_SEL)) &&
(ifsta->flags & (IEEE80211_STA_SSID_SET | (ifsta->flags & (IEEE80211_STA_SSID_SET |
IEEE80211_STA_AUTO_SSID_SEL))) { IEEE80211_STA_AUTO_SSID_SEL))) {
if (ifsta->state == IEEE80211_STA_MLME_ASSOCIATED)
ieee80211_set_disassoc(sdata, ifsta, true, true,
WLAN_REASON_DEAUTH_LEAVING);
set_bit(IEEE80211_STA_REQ_AUTH, &ifsta->request); set_bit(IEEE80211_STA_REQ_AUTH, &ifsta->request);
queue_work(local->hw.workqueue, &ifsta->work); queue_work(local->hw.workqueue, &ifsta->work);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment