qcacld-3.0: Acquire mutex before accessing tdls context
peer_list is a parameter for tdls_ctx, so every access to peer_list should be protected with mutex lock. This change refactors the code for function hdd_roam_tdls _status_update_handler(). Change-Id: Id4fd0931df5ec38ad07657751feff34946a18c02 CRs-Fixed: 1106735
Šī revīzija ir iekļauta:

revīziju iesūtīja
qcabuildsw

vecāks
4ea2715f34
revīzija
3dea6721dc
@@ -3806,17 +3806,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);
|
||||
@@ -3824,11 +3825,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);
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user