The following commit has been merged in the linux branch: commit 2ef6e4440926668cfa9eac4b79e63528ebcbe0c1 Author: Johannes Berg johannes@sipsolutions.net Date: Tue Oct 20 15:08:12 2009 +0900
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
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index 8d26e9b..dc5049d 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; }