summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/hdd/inc/wlan_hdd_tdls.h6
-rw-r--r--core/hdd/src/wlan_hdd_assoc.c4
-rw-r--r--core/hdd/src/wlan_hdd_tdls.c5
3 files changed, 9 insertions, 6 deletions
diff --git a/core/hdd/inc/wlan_hdd_tdls.h b/core/hdd/inc/wlan_hdd_tdls.h
index b2ec5d91f1a6..01ca3e54533e 100644
--- a/core/hdd/inc/wlan_hdd_tdls.h
+++ b/core/hdd/inc/wlan_hdd_tdls.h
@@ -735,6 +735,7 @@ void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
* wlan_hdd_tdls_notify_disconnect() - Update tdls state for every
* disconnect event.
* @adapter: hdd adapter
+ * @lfr_roam: roaming case
*
* After every disconnect event in the system, check whether TDLS
* can be disabled/enabled in the system and update the
@@ -742,7 +743,7 @@ void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
*
* Return: None
*/
-void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter);
+void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter, bool lfr_roam);
void wlan_hdd_change_tdls_mode(void *hdd_ctx);
void hdd_restart_tdls_source_timer(hdd_context_t *pHddCtx,
eTDLSSupportMode tdls_mode);
@@ -799,7 +800,8 @@ static inline void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
tCsrRoamInfo *csr_roam_info)
{
}
-static inline void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter)
+static inline void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter,
+ bool lfr_roam)
{
}
diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c
index 6aa271578730..5e96aac9d535 100644
--- a/core/hdd/src/wlan_hdd_assoc.c
+++ b/core/hdd/src/wlan_hdd_assoc.c
@@ -1200,7 +1200,7 @@ static void hdd_send_association_event(struct net_device *dev,
/* change logging before release */
hdd_info("LFR3:hdd_send_association_event");
/* Update tdls module about the disconnection event */
- wlan_hdd_tdls_notify_disconnect(pAdapter);
+ wlan_hdd_tdls_notify_disconnect(pAdapter, true);
}
#endif
if (eConnectionState_Associated == pHddStaCtx->conn_info.connState) {
@@ -1325,7 +1325,7 @@ static void hdd_send_association_event(struct net_device *dev,
}
hdd_lpass_notify_disconnect(pAdapter);
/* Update tdls module about the disconnection event */
- wlan_hdd_tdls_notify_disconnect(pAdapter);
+ wlan_hdd_tdls_notify_disconnect(pAdapter, false);
#ifdef MSM_PLATFORM
/* stop timer in sta/p2p_cli */
diff --git a/core/hdd/src/wlan_hdd_tdls.c b/core/hdd/src/wlan_hdd_tdls.c
index ead4955364e8..f3e4d03e30cd 100644
--- a/core/hdd/src/wlan_hdd_tdls.c
+++ b/core/hdd/src/wlan_hdd_tdls.c
@@ -2007,6 +2007,7 @@ void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
* wlan_hdd_tdls_notify_disconnect() - Update tdls state for every
* disconnect event.
* @adapter: hdd adapter
+ * @lfr_roam: roaming case
*
* After every disconnect event in the system, check whether TDLS
* can be disabled/enabled in the system and update the
@@ -2014,7 +2015,7 @@ void wlan_hdd_tdls_notify_connect(hdd_adapter_t *adapter,
*
* Return: None
*/
-void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter)
+void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter, bool lfr_roam)
{
hdd_adapter_t *temp_adapter;
hdd_context_t *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
@@ -2032,7 +2033,7 @@ void wlan_hdd_tdls_notify_disconnect(hdd_adapter_t *adapter)
* check, whether TDLS could be enabled in the
* system after this disassoc event.
*/
- if (!hdd_ctx->concurrency_marked) {
+ if (!lfr_roam && !hdd_ctx->concurrency_marked) {
temp_adapter = wlan_hdd_tdls_get_adapter(
hdd_ctx);
if (NULL != temp_adapter)