summaryrefslogtreecommitdiff
path: root/net/mac80211
diff options
context:
space:
mode:
authorJohannes Berg <johannes@sipsolutions.net>2009-10-20 15:08:12 +0900
committerJohn W. Linville <linville@tuxdriver.com>2009-10-27 16:29:47 -0400
commit2ef6e4440926668cfa9eac4b79e63528ebcbe0c1 (patch)
tree6db9ef36346c2b263d7bed07fed99cffd6fb2a44 /net/mac80211
parentd419b9f0fa69e79ccba3e5e79a58a52ae0c2ed6a (diff)
downloadlinux-3.10-2ef6e4440926668cfa9eac4b79e63528ebcbe0c1.tar.gz
linux-3.10-2ef6e4440926668cfa9eac4b79e63528ebcbe0c1.tar.bz2
linux-3.10-2ef6e4440926668cfa9eac4b79e63528ebcbe0c1.zip
mac80211: keep auth state when assoc fails
When association fails, we should stay authenticated, which in mac80211 is represented by the existence of the mlme work struct, so we cannot free that, instead we need to just set it to idle. (Brought to you by the hacking session at Kernel Summit 2009 in Tokyo, Japan. -- JWL) Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/mlme.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 8d26e9bf896..dc5049d58c5 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -1457,8 +1457,7 @@ ieee80211_rx_mgmt_assoc_resp(struct ieee80211_sub_if_data *sdata,
if (status_code != WLAN_STATUS_SUCCESS) {
printk(KERN_DEBUG "%s: AP denied association (code=%d)\n",
sdata->dev->name, status_code);
- list_del(&wk->list);
- kfree(wk);
+ wk->state = IEEE80211_MGD_STATE_IDLE;
return RX_MGMT_CFG80211_ASSOC;
}