diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/hdd/src/wlan_hdd_tdls.c | 15 |
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); |
