summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/hdd/src/wlan_hdd_tdls.c15
1 files 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);