diff options
-rw-r--r-- | net/mac80211/mlme.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 6d49d6c4ffc1..2cec14cc02d1 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -1528,8 +1528,6 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata, | |||
1528 | changed |= BSS_CHANGED_BSSID | BSS_CHANGED_HT; | 1528 | changed |= BSS_CHANGED_BSSID | BSS_CHANGED_HT; |
1529 | ieee80211_bss_info_change_notify(sdata, changed); | 1529 | ieee80211_bss_info_change_notify(sdata, changed); |
1530 | 1530 | ||
1531 | ieee80211_vif_release_channel(sdata); | ||
1532 | |||
1533 | /* disassociated - set to defaults now */ | 1531 | /* disassociated - set to defaults now */ |
1534 | ieee80211_set_wmm_default(sdata, false); | 1532 | ieee80211_set_wmm_default(sdata, false); |
1535 | 1533 | ||
@@ -1539,6 +1537,9 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata, | |||
1539 | del_timer_sync(&sdata->u.mgd.chswitch_timer); | 1537 | del_timer_sync(&sdata->u.mgd.chswitch_timer); |
1540 | 1538 | ||
1541 | sdata->u.mgd.timers_running = 0; | 1539 | sdata->u.mgd.timers_running = 0; |
1540 | |||
1541 | ifmgd->flags = 0; | ||
1542 | ieee80211_vif_release_channel(sdata); | ||
1542 | } | 1543 | } |
1543 | 1544 | ||
1544 | void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, | 1545 | void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, |
@@ -1864,6 +1865,7 @@ static void ieee80211_destroy_auth_data(struct ieee80211_sub_if_data *sdata, | |||
1864 | 1865 | ||
1865 | memset(sdata->u.mgd.bssid, 0, ETH_ALEN); | 1866 | memset(sdata->u.mgd.bssid, 0, ETH_ALEN); |
1866 | ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID); | 1867 | ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID); |
1868 | sdata->u.mgd.flags = 0; | ||
1867 | ieee80211_vif_release_channel(sdata); | 1869 | ieee80211_vif_release_channel(sdata); |
1868 | } | 1870 | } |
1869 | 1871 | ||
@@ -2106,6 +2108,7 @@ static void ieee80211_destroy_assoc_data(struct ieee80211_sub_if_data *sdata, | |||
2106 | 2108 | ||
2107 | memset(sdata->u.mgd.bssid, 0, ETH_ALEN); | 2109 | memset(sdata->u.mgd.bssid, 0, ETH_ALEN); |
2108 | ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID); | 2110 | ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID); |
2111 | sdata->u.mgd.flags = 0; | ||
2109 | ieee80211_vif_release_channel(sdata); | 2112 | ieee80211_vif_release_channel(sdata); |
2110 | } | 2113 | } |
2111 | 2114 | ||
@@ -3536,13 +3539,6 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata, | |||
3536 | 3539 | ||
3537 | /* prepare assoc data */ | 3540 | /* prepare assoc data */ |
3538 | 3541 | ||
3539 | /* | ||
3540 | * keep only the 40 MHz disable bit set as it might have | ||
3541 | * been set during authentication already, all other bits | ||
3542 | * should be reset for a new connection | ||
3543 | */ | ||
3544 | ifmgd->flags &= IEEE80211_STA_DISABLE_40MHZ; | ||
3545 | |||
3546 | ifmgd->beacon_crc_valid = false; | 3542 | ifmgd->beacon_crc_valid = false; |
3547 | 3543 | ||
3548 | /* | 3544 | /* |