mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-11-09 20:31:13 -05:00
qcacld-3.0: Fix out-of-order completion variable usage
hdd_wlan_get_ibss_peer_info() and hdd_wlan_get_ibss_peer_info_all() initialize their completion variables after scheduling work, leading to a race condition that can cause the completion variable to be set before it is initialized. Reorder the operations so work is scheduled after initializing the completion variables. Change-Id: Ic773574f3620438b473cd5bcebee78ad87a37942 CRs-Fixed: 1074692
This commit is contained in:
parent
0d3f1d62e1
commit
4c2a9fe3ff
1 changed files with 6 additions and 7 deletions
|
|
@ -1243,11 +1243,10 @@ static QDF_STATUS hdd_wlan_get_ibss_peer_info(hdd_adapter_t *pAdapter,
|
|||
hdd_station_ctx_t *pStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
|
||||
tSirPeerInfoRspParams *pPeerInfo = &pStaCtx->ibss_peer_info;
|
||||
|
||||
status =
|
||||
sme_request_ibss_peer_info(hHal, pAdapter, hdd_get_ibss_peer_info_cb,
|
||||
false, staIdx);
|
||||
|
||||
INIT_COMPLETION(pAdapter->ibss_peer_info_comp);
|
||||
status = sme_request_ibss_peer_info(hHal, pAdapter,
|
||||
hdd_get_ibss_peer_info_cb,
|
||||
false, staIdx);
|
||||
|
||||
if (QDF_STATUS_SUCCESS == status) {
|
||||
unsigned long rc;
|
||||
|
|
@ -1293,10 +1292,10 @@ static QDF_STATUS hdd_wlan_get_ibss_peer_info_all(hdd_adapter_t *pAdapter)
|
|||
tSirPeerInfoRspParams *pPeerInfo = &pStaCtx->ibss_peer_info;
|
||||
int i;
|
||||
|
||||
status =
|
||||
sme_request_ibss_peer_info(hHal, pAdapter, hdd_get_ibss_peer_info_cb,
|
||||
true, 0xFF);
|
||||
INIT_COMPLETION(pAdapter->ibss_peer_info_comp);
|
||||
status = sme_request_ibss_peer_info(hHal, pAdapter,
|
||||
hdd_get_ibss_peer_info_cb,
|
||||
true, 0xFF);
|
||||
|
||||
if (QDF_STATUS_SUCCESS == status) {
|
||||
unsigned long rc;
|
||||
|
|
|
|||
Loading…
Reference in a new issue