aboutsummaryrefslogtreecommitdiffstats
path: root/src/rsn_supp
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2015-10-25 22:26:36 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2015-10-25 22:26:36 -0700
commit2c2fb0b85d7fef10a2827a64724e79583c70995a (patch)
tree17b6c928878dcdc4b82483cee0ac04818319f1db /src/rsn_supp
parentd5f40ac766ab7c2808e346d418a7904628aabf9b (diff)
parentf0fcc75f33b1ea750bfb37226cf6e470fc51a45d (diff)
downloadandroid_external_wpa_supplicant_8-2c2fb0b85d7fef10a2827a64724e79583c70995a.tar.gz
android_external_wpa_supplicant_8-2c2fb0b85d7fef10a2827a64724e79583c70995a.tar.bz2
android_external_wpa_supplicant_8-2c2fb0b85d7fef10a2827a64724e79583c70995a.zip
Merge "TDLS: On a TPK timeout, tear down the link before renewal by the initiator"
Diffstat (limited to 'src/rsn_supp')
-rw-r--r--src/rsn_supp/tdls.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c
index 6b1df711..2bbcab16 100644
--- a/src/rsn_supp/tdls.c
+++ b/src/rsn_supp/tdls.c
@@ -626,9 +626,15 @@ static void wpa_tdls_tpk_timeout(void *eloop_ctx, void *timeout_ctx)
*/
if (peer->initiator) {
+ u8 addr[ETH_ALEN];
+
wpa_printf(MSG_DEBUG, "TDLS: TPK lifetime expired for " MACSTR
" - try to renew", MAC2STR(peer->addr));
- wpa_tdls_start(sm, peer->addr);
+ /* cache the peer address before do_teardown */
+ os_memcpy(addr, peer->addr, ETH_ALEN);
+ wpa_tdls_do_teardown(sm, peer,
+ WLAN_REASON_TDLS_TEARDOWN_UNSPECIFIED);
+ wpa_tdls_start(sm, addr);
} else {
wpa_printf(MSG_DEBUG, "TDLS: TPK lifetime expired for " MACSTR
" - tear down", MAC2STR(peer->addr));