diff options
| -rw-r--r-- | core/hdd/src/wlan_hdd_assoc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index 53614b07a4eb..f763cde54975 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -3710,17 +3710,18 @@ hdd_roam_tdls_status_update_handler(hdd_adapter_t *pAdapter, pHddCtx->tdlsConnInfo[staIdx].staId) { hdd_warn("HDD: del STA IDX = %x", pRoamInfo->staId); - + mutex_lock(&pHddCtx->tdls_lock); curr_peer = wlan_hdd_tdls_find_peer(pAdapter, pRoamInfo-> peerMac.bytes, - true); + false); if (NULL != curr_peer) { hdd_info("Current status for peer " MAC_ADDRESS_STR " is %d", MAC_ADDR_ARRAY(pRoamInfo->peerMac.bytes), curr_peer->link_status); if (TDLS_IS_CONNECTED(curr_peer)) { + mutex_unlock(&pHddCtx->tdls_lock); hdd_roam_deregister_tdlssta (pAdapter, pRoamInfo->staId); @@ -3728,11 +3729,14 @@ hdd_roam_tdls_status_update_handler(hdd_adapter_t *pAdapter, (pAdapter); } else if (eTDLS_LINK_CONNECTING == curr_peer->link_status) { + mutex_unlock(&pHddCtx->tdls_lock); hdd_roam_deregister_tdlssta (pAdapter, pRoamInfo->staId); } - } + } else + mutex_unlock(&pHddCtx->tdls_lock); + wlan_hdd_tdls_reset_peer(pAdapter, pRoamInfo-> peerMac.bytes); |
