From: Michael Wu <flamingice@xxxxxxxxxxxx> This patch prevents the MLME in d80211 from getting stuck when there is no reply to authentication frames. It also allows the bssid to be correctly set during IEEE80211_AUTHENTICATE. Signed-off-by: Michael Wu <flamingice@xxxxxxxxxxxx> Signed-off-by: Jiri Benc <jbenc@xxxxxxx> --- net/d80211/ieee80211_sta.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) d02de628f917dadffc36cbb04f25a9e0bd3cb070 diff --git a/net/d80211/ieee80211_sta.c b/net/d80211/ieee80211_sta.c index 433a11b..0e45a65 100644 --- a/net/d80211/ieee80211_sta.c +++ b/net/d80211/ieee80211_sta.c @@ -456,6 +456,7 @@ static void ieee80211_authenticate(struc printk(KERN_DEBUG "%s: authentication with AP " MAC_FMT " timed out\n", dev->name, MAC_ARG(ifsta->bssid)); + ifsta->state = IEEE80211_DISABLED; return; } @@ -677,6 +678,7 @@ static void ieee80211_associate(struct n printk(KERN_DEBUG "%s: association with AP " MAC_FMT " timed out\n", dev->name, MAC_ARG(ifsta->bssid)); + ifsta->state = IEEE80211_DISABLED; return; } @@ -686,6 +688,7 @@ static void ieee80211_associate(struct n if (ieee80211_privacy_mismatch(dev, ifsta)) { printk(KERN_DEBUG "%s: mismatch in privacy configuration and " "mixed-cell disabled - abort association\n", dev->name); + ifsta->state = IEEE80211_DISABLED; return; } @@ -2366,7 +2369,7 @@ int ieee80211_sta_set_bssid(struct net_d ifsta->bssid_set = 0; else ifsta->bssid_set = 1; - if (ifsta->ssid_set && ifsta->state != IEEE80211_AUTHENTICATE) + if (ifsta->ssid_set) ieee80211_sta_new_auth(dev, ifsta); return 0; -- 1.3.0 - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html