qcacld-3.0: Dont send response to LIM during roam sync
WMA is sending response to ADD_STA and ADD_BSS request during failure scenario. Add conditions not to send the response to LIM during the roam sync indication operation. Change-Id: Iad9a8b28e1029ebd12e2022fb38d2aa01a03e9aa CRs-fixed: 1061963 (cherry picked from commit b23176083295303da6847274120af8ab48e62730)
Этот коммит содержится в:

коммит произвёл
qcabuildsw

родитель
d9b6ca8632
Коммит
2ff3ebe4a7
@@ -2988,7 +2988,7 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss)
|
|||||||
ol_txrx_pdev_handle pdev;
|
ol_txrx_pdev_handle pdev;
|
||||||
struct wma_vdev_start_req req;
|
struct wma_vdev_start_req req;
|
||||||
struct wma_target_req *msg;
|
struct wma_target_req *msg;
|
||||||
uint8_t vdev_id, peer_id;
|
uint8_t peer_id;
|
||||||
ol_txrx_peer_handle peer = NULL;
|
ol_txrx_peer_handle peer = NULL;
|
||||||
QDF_STATUS status;
|
QDF_STATUS status;
|
||||||
struct wma_txrx_node *iface;
|
struct wma_txrx_node *iface;
|
||||||
@@ -2998,6 +2998,7 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss)
|
|||||||
struct sir_hw_mode_params hw_mode = {0};
|
struct sir_hw_mode_params hw_mode = {0};
|
||||||
bool peer_assoc_sent = false;
|
bool peer_assoc_sent = false;
|
||||||
struct pdev_params param = {0};
|
struct pdev_params param = {0};
|
||||||
|
uint8_t vdev_id = add_bss->staContext.smesessionId;
|
||||||
|
|
||||||
if (NULL == pMac) {
|
if (NULL == pMac) {
|
||||||
WMA_LOGE("%s: Unable to get PE context", __func__);
|
WMA_LOGE("%s: Unable to get PE context", __func__);
|
||||||
@@ -3011,7 +3012,6 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss)
|
|||||||
goto send_fail_resp;
|
goto send_fail_resp;
|
||||||
}
|
}
|
||||||
|
|
||||||
vdev_id = add_bss->staContext.smesessionId;
|
|
||||||
iface = &wma->interfaces[vdev_id];
|
iface = &wma->interfaces[vdev_id];
|
||||||
|
|
||||||
wma_set_bss_rate_flags(iface, add_bss);
|
wma_set_bss_rate_flags(iface, add_bss);
|
||||||
@@ -3277,7 +3277,8 @@ peer_cleanup:
|
|||||||
roam_synch_in_progress);
|
roam_synch_in_progress);
|
||||||
send_fail_resp:
|
send_fail_resp:
|
||||||
add_bss->status = QDF_STATUS_E_FAILURE;
|
add_bss->status = QDF_STATUS_E_FAILURE;
|
||||||
wma_send_msg(wma, WMA_ADD_BSS_RSP, (void *)add_bss, 0);
|
if (!wma_is_roam_synch_in_progress(wma, vdev_id))
|
||||||
|
wma_send_msg(wma, WMA_ADD_BSS_RSP, (void *)add_bss, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3723,6 +3724,12 @@ static void wma_add_sta_req_sta_mode(tp_wma_handle wma, tpAddStaParams params)
|
|||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
peer = ol_txrx_find_peer_by_addr(pdev, params->bssId, ¶ms->staIdx);
|
peer = ol_txrx_find_peer_by_addr(pdev, params->bssId, ¶ms->staIdx);
|
||||||
|
if (peer == NULL) {
|
||||||
|
WMA_LOGE("%s: Peer is not present vdev id %d for %pM", __func__,
|
||||||
|
params->smesessionId, params->bssId);
|
||||||
|
status = QDF_STATUS_E_FAILURE;
|
||||||
|
goto out;
|
||||||
|
}
|
||||||
if (params->nonRoamReassoc) {
|
if (params->nonRoamReassoc) {
|
||||||
ol_txrx_peer_state_update(pdev, params->bssId,
|
ol_txrx_peer_state_update(pdev, params->bssId,
|
||||||
OL_TXRX_PEER_STATE_AUTH);
|
OL_TXRX_PEER_STATE_AUTH);
|
||||||
@@ -3916,7 +3923,9 @@ out:
|
|||||||
params->staType, params->smesessionId,
|
params->staType, params->smesessionId,
|
||||||
params->assocId, params->bssId, params->staIdx,
|
params->assocId, params->bssId, params->staIdx,
|
||||||
params->status);
|
params->status);
|
||||||
wma_send_msg(wma, WMA_ADD_STA_RSP, (void *)params, 0);
|
/* Don't send a response during roam sync operation */
|
||||||
|
if (!wma_is_roam_synch_in_progress(wma, params->smesessionId))
|
||||||
|
wma_send_msg(wma, WMA_ADD_STA_RSP, (void *)params, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Ссылка в новой задаче
Block a user