nl80211: Clear cfg80211 authentication data for old entries

cfg80211 has a limit on pending authentications, so we better clear
the entries that we do not care about to avoid hitting the limit
when roaming between multiple APs.
This commit is contained in:
Jouni Malinen 2010-01-24 18:07:34 -08:00
parent 43a7fe2e0e
commit 582507be85

View file

@ -1581,7 +1581,7 @@ static void clear_state_mismatch(struct wpa_driver_nl80211_data *drv,
{ {
if (drv->capa.flags & WPA_DRIVER_FLAGS_SME) { if (drv->capa.flags & WPA_DRIVER_FLAGS_SME) {
wpa_printf(MSG_DEBUG, "nl80211: Clear possible state " wpa_printf(MSG_DEBUG, "nl80211: Clear possible state "
"mismatch"); "mismatch (" MACSTR ")", MAC2STR(addr));
wpa_driver_nl80211_mlme(drv, addr, wpa_driver_nl80211_mlme(drv, addr,
NL80211_CMD_DEAUTHENTICATE, NL80211_CMD_DEAUTHENTICATE,
WLAN_REASON_PREV_AUTH_NOT_VALID); WLAN_REASON_PREV_AUTH_NOT_VALID);
@ -1610,6 +1610,7 @@ static void wpa_driver_nl80211_check_bss_status(
" assoc=" MACSTR ")", " assoc=" MACSTR ")",
MAC2STR(drv->auth_bssid), MAC2STR(drv->auth_bssid),
MAC2STR(drv->bssid)); MAC2STR(drv->bssid));
clear_state_mismatch(drv, r->bssid);
} }
} }