From 273e4e5649aea410e276439189e0532b1cd54034 Mon Sep 17 00:00:00 2001 From: Nitesh Shah Date: Mon, 3 Apr 2017 12:53:36 +0530 Subject: [PATCH] qcacld-3.0: Teardown TDLS links before starting interface If the TDLS links exists and SAP comes up, there is a chance that the peer is created for SAP before deleting TDLS peers, thus leading to crash. The fix is to teardown the TDLS links before starting hostapd or starting the association process to avoid TDLS in concurrency case. Change-Id: I06c0d4f8965d3a1e614e8bd89f2d6af0a504fa9e CRs-Fixed: 2027831 --- core/hdd/src/wlan_hdd_cfg80211.c | 2 ++ core/hdd/src/wlan_hdd_hostapd.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 8ecb549aecb5..2577c297dc89 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -13018,6 +13018,8 @@ static int wlan_hdd_cfg80211_connect_start(hdd_adapter_t *pAdapter, goto ret_status; } + wlan_hdd_tdls_disable_offchan_and_teardown_links(pHddCtx); + pRoamProfile = &pWextState->roamProfile; qdf_mem_zero(&hdd_sta_ctx->conn_info.conn_flag, sizeof(hdd_sta_ctx->conn_info.conn_flag)); diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c index 1af864004713..2d6bb6f22c54 100644 --- a/core/hdd/src/wlan_hdd_hostapd.c +++ b/core/hdd/src/wlan_hdd_hostapd.c @@ -7399,6 +7399,8 @@ int wlan_hdd_cfg80211_start_bss(hdd_adapter_t *pHostapdAdapter, return -EINVAL; } + wlan_hdd_tdls_disable_offchan_and_teardown_links(pHddCtx); + if (policy_mgr_is_hw_mode_change_in_progress(pHddCtx->hdd_psoc)) { status = policy_mgr_wait_for_connection_update( pHddCtx->hdd_psoc);