From 9f890c982aa85aaa9a0a00375bf08ae05ce118ba Mon Sep 17 00:00:00 2001 From: Sunil Dutt Date: Thu, 28 Mar 2013 15:05:10 +0200 Subject: [PATCH] TDLS: Support both external and internal setup in disabling link Enhance TDLS Setup Request processing to support both external and internal TDLS setup for the case where concurrent TDLS initialization results in the TDLS Setup Request from the peer getting accepted. Signed-hostap: Jouni Malinen --- src/rsn_supp/tdls.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/rsn_supp/tdls.c b/src/rsn_supp/tdls.c index 2e33c344f..8ceaf6c3e 100644 --- a/src/rsn_supp/tdls.c +++ b/src/rsn_supp/tdls.c @@ -1505,7 +1505,12 @@ static int wpa_tdls_process_tpk_m1(struct wpa_sm *sm, const u8 *src_addr, MACSTR " (terminate previously " "initiated negotiation", MAC2STR(src_addr)); - wpa_tdls_disable_link(sm, peer->addr); + if (sm->tdls_external_setup) + wpa_sm_tdls_oper(sm, TDLS_DISABLE_LINK, + src_addr); + else + wpa_tdls_del_key(sm, peer); + wpa_tdls_peer_free(sm, peer); } } }