On Fri, 25 Aug 2006 16:32:08 +0800, Hong Liu wrote: > After key negotiation completed using wpa_supplicant, wpa_supplicant > can't reassoc with the AP if we reboot the AP. It always fails at the > 4-way handshake. > The problem is the key info is not cleared correctly. Thus when > wpa_supplicant send the EAPOL-KEY packet, the d80211 stack finds the old > key and uses it to encrypt the packet. > > The patch removes the sta_info when we disassociate with AP.
Please: - add proper Signed-off-by line - do not send patches as an attachment - Cc: John Linville <[EMAIL PROTECTED]> as well as me on d80211 patches > diff --git a/net/d80211/ieee80211_sta.c b/net/d80211/ieee80211_sta.c > index 8caf352..2144b34 100644 > --- a/net/d80211/ieee80211_sta.c > +++ b/net/d80211/ieee80211_sta.c > @@ -739,6 +739,14 @@ static void ieee80211_associated(struct > wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL); > mod_timer(&ifsta->timer, > jiffies + IEEE80211_MONITORING_INTERVAL + 30 * HZ); > + > + sta = sta_info_get(local, ifsta->bssid); > + if (sta) { > + sta_info_free(sta, 0); > + sta_info_put(sta); > + } > + > + ifsta->probereq_poll = 0; Wouldn't it be better to move this into the 'else' branch of previous 'if' statement (i.e. just before sta_info_put call in the ieee80211_associated function)? Thanks, Jiri -- Jiri Benc SUSE Labs - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html