From ec4a4736dee45e2a4b2a55174433af56b6400a56 Mon Sep 17 00:00:00 2001 From: Ganesh Kondabattini Date: Fri, 12 May 2017 11:41:15 +0530 Subject: qcacld-3.0: Disable connection tracker if no force peers exists Disable tdls connection tracker if configured TDLS mode is external and there are no forced peers configured by application. CRs-Fixed: 2046405 Change-Id: I6e83947afbc0100a06b0207731828af667bf8b82 --- core/hdd/src/wlan_hdd_tdls.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c index 3f5d4ff939d0..a7f16918f005 100644 --- a/core/hdd/src/wlan_hdd_tdls.c +++ b/core/hdd/src/wlan_hdd_tdls.c @@ -1730,8 +1730,19 @@ static void wlan_hdd_tdls_set_mode(hdd_context_t *pHddCtx, /* tdls implicit mode is enabled, so * enable the connection tracker */ - pHddCtx->enable_tdls_connection_tracker = - true; + pHddCtx->enable_tdls_connection_tracker + = true; + + if (tdls_mode == eTDLS_SUPPORT_EXTERNAL_CONTROL + && !pHddCtx->tdls_external_peer_count) { + /* Disable connection tracker if tdls + * mode is external and no force peers + * were configured by application. + */ + pHddCtx->enable_tdls_connection_tracker + = false; + } + } else if (eTDLS_SUPPORT_DISABLED == tdls_mode) { set_bit((unsigned long)source, &pHddCtx->tdls_source_bitmap); -- cgit v1.2.3