TDLS: Disable links during AP deauth in external flow

When de-authenticating from the AP, disable each TDLS link after
sending the teardown packet. Postpone the reset of the peer state
data until after the link disable request.

Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com>
This commit is contained in:
Arik Nemtsov 2014-04-24 08:45:37 +03:00 committed by Jouni Malinen
parent b19719aa77
commit c04b4651f7

View file

@ -762,9 +762,6 @@ skip_ies:
reason_code, 0, rbuf, pos - rbuf);
os_free(rbuf);
/* clear the Peerkey statemachine */
wpa_tdls_peer_free(sm, peer);
return 0;
}
@ -2592,8 +2589,8 @@ void wpa_tdls_teardown_peers(struct wpa_sm *sm)
wpa_printf(MSG_DEBUG, "TDLS: Tear down peer " MACSTR,
MAC2STR(peer->addr));
if (sm->tdls_external_setup)
wpa_tdls_send_teardown(sm, peer->addr,
WLAN_REASON_DEAUTH_LEAVING);
wpa_tdls_do_teardown(sm, peer,
WLAN_REASON_DEAUTH_LEAVING);
else
wpa_sm_tdls_oper(sm, TDLS_TEARDOWN, peer->addr);