diff options
Diffstat (limited to 'net/mac80211/mlme.c')
-rw-r--r-- | net/mac80211/mlme.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index f77adf1a520e..7b3f9df725bd 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -1071,6 +1071,12 @@ void ieee80211_sta_rx_notify(struct ieee80211_sub_if_data *sdata, | |||
1071 | if (is_multicast_ether_addr(hdr->addr1)) | 1071 | if (is_multicast_ether_addr(hdr->addr1)) |
1072 | return; | 1072 | return; |
1073 | 1073 | ||
1074 | /* | ||
1075 | * In case we receive frames after disassociation. | ||
1076 | */ | ||
1077 | if (!sdata->u.mgd.associated) | ||
1078 | return; | ||
1079 | |||
1074 | ieee80211_sta_reset_conn_monitor(sdata); | 1080 | ieee80211_sta_reset_conn_monitor(sdata); |
1075 | } | 1081 | } |
1076 | 1082 | ||
@@ -2294,6 +2300,7 @@ int ieee80211_mgd_auth(struct ieee80211_sub_if_data *sdata, | |||
2294 | else | 2300 | else |
2295 | wk->type = IEEE80211_WORK_DIRECT_PROBE; | 2301 | wk->type = IEEE80211_WORK_DIRECT_PROBE; |
2296 | wk->chan = req->bss->channel; | 2302 | wk->chan = req->bss->channel; |
2303 | wk->chan_type = NL80211_CHAN_NO_HT; | ||
2297 | wk->sdata = sdata; | 2304 | wk->sdata = sdata; |
2298 | wk->done = ieee80211_probe_auth_done; | 2305 | wk->done = ieee80211_probe_auth_done; |
2299 | 2306 | ||
@@ -2443,6 +2450,7 @@ int ieee80211_mgd_assoc(struct ieee80211_sub_if_data *sdata, | |||
2443 | memcpy(wk->assoc.prev_bssid, req->prev_bssid, ETH_ALEN); | 2450 | memcpy(wk->assoc.prev_bssid, req->prev_bssid, ETH_ALEN); |
2444 | 2451 | ||
2445 | wk->chan = req->bss->channel; | 2452 | wk->chan = req->bss->channel; |
2453 | wk->chan_type = NL80211_CHAN_NO_HT; | ||
2446 | wk->sdata = sdata; | 2454 | wk->sdata = sdata; |
2447 | wk->done = ieee80211_assoc_done; | 2455 | wk->done = ieee80211_assoc_done; |
2448 | if (!bss->dtim_period && | 2456 | if (!bss->dtim_period && |