From c04b4651f75bc635b95ad12df7c3811c3df57ebc Mon Sep 17 00:00:00 2001 From: Arik Nemtsov Date: Thu, 24 Apr 2014 08:45:37 +0300 Subject: [PATCH] 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 --- src/rsn_supp/tdls.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c index 5ecf96be2..d3d0c42df 100644 --- a/src/rsn_supp/tdls.c +++ b/src/rsn_supp/tdls.c @@ -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);