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)
This commit is contained in:
Sandeep Puligilla
2016-08-31 23:55:07 -07:00
committed by qcabuildsw
parent d9b6ca8632
commit 2ff3ebe4a7

View File

@@ -2988,7 +2988,7 @@ static void wma_add_bss_sta_mode(tp_wma_handle wma, tpAddBssParams add_bss)
ol_txrx_pdev_handle pdev;
struct wma_vdev_start_req req;
struct wma_target_req *msg;
uint8_t vdev_id, peer_id;
uint8_t peer_id;
ol_txrx_peer_handle peer = NULL;
QDF_STATUS status;
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};
bool peer_assoc_sent = false;
struct pdev_params param = {0};
uint8_t vdev_id = add_bss->staContext.smesessionId;
if (NULL == pMac) {
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;
}
vdev_id = add_bss->staContext.smesessionId;
iface = &wma->interfaces[vdev_id];
wma_set_bss_rate_flags(iface, add_bss);
@@ -3277,7 +3277,8 @@ peer_cleanup:
roam_synch_in_progress);
send_fail_resp:
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;
}
peer = ol_txrx_find_peer_by_addr(pdev, params->bssId, &params->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) {
ol_txrx_peer_state_update(pdev, params->bssId,
OL_TXRX_PEER_STATE_AUTH);
@@ -3916,7 +3923,9 @@ out:
params->staType, params->smesessionId,
params->assocId, params->bssId, params->staIdx,
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);
}
/**