diff options
| -rw-r--r-- | core/hdd/inc/wlan_hdd_tdls.h | 6 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_assoc.c | 4 | ||||
| -rw-r--r-- | core/hdd/src/wlan_hdd_tdls.c | 5 |
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) |
