On Wed, Sep 30, 2009 at 03:19:28AM +0200, Maxim Levitsky wrote: > So I didn't do the testing that soon... > Got swamped by many bugs present in ubuntu 9.10. > > Now I have attempted same patch on top of wpa_supplicant, and it works. Depends on your definition of working, I'd guess.. ;-) > @@ -1302,8 +1302,10 @@ void wpa_supplicant_disassociate(struct wpa_supplicant *wpa_s, > wpa_drv_disassociate(wpa_s, wpa_s->bssid, reason_code); > + wpa_drv_deauthenticate(wpa_s, wpa_s->bssid, reason_code); To me, this looks broken. When wpa_supplicant requests a disassociastion, it is _only_ asking for disassociation, not deauthentication. cfg80211/mac80211 may not currently handle that, but as far as I can tell, it sounds like an issue there and not in wpa_supplicant. Johannes may disagree with this, though. > Would that be enough, or this is too hacky, and we need to audit each callsite of wpa_supplicant_disassociate > and see if we need to send deauth frame too? I don't think either of those options would be acceptable for wpa_supplicant and the correct fix is to make cfg80211/mac80211 be able to handle authentication to a STA that is already authenticated. If that is not acceptable, this hack needs to be hidden in driver_nl80211.c instead of polluting core wpa_supplicant code which is supposed to be driver independent. In other words, make driver_nl80211.c deauth if auth fails and then try auth again. I don't really like that much, but if this needs to be worked around in wpa_supplicant, that is the most likely place where such a change could be considered. -- Jouni Malinen PGP id EFC895FA -- 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