qcacld-3.0: Reset fw_peer_count for HO failure during del BSS
Currently fw_peer_count for HO failure is done in wma_roam_ho_fail_handler which can lead to improper reset of the fw_peer_count if a HDD triggered disassoc is in progress for the same peer leading to fw_peer_count going to -1. Reset the fw_peer_count for HO failure case in wma_delete_bss_ho_fail API as this is called from the CSR/LIM for handling HO failure as part of CSR disconnect. Change-Id: I1526757b085086ca51eef9b9cca0ea757ed20b61 CRs-Fixed: 2266337
This commit is contained in:

committed by
nshrivas

parent
99923a8330
commit
ba40f4b509
@@ -5677,6 +5677,11 @@ void wma_delete_bss_ho_fail(tp_wma_handle wma, tpDeleteBssParams params)
|
||||
params->bssid);
|
||||
}
|
||||
iface->peer_count--;
|
||||
|
||||
WMA_LOGD("%s: Reset FW peer count", __func__);
|
||||
qdf_atomic_init(&iface->fw_peer_count);
|
||||
qdf_event_set(&iface->fw_peer_delete_completion);
|
||||
|
||||
WMA_LOGI("%s: Removed peer %pK with peer_addr %pM vdevid %d peer_count %d",
|
||||
__func__, peer, params->bssid, params->smesessionId,
|
||||
iface->peer_count);
|
||||
|
@@ -2870,19 +2870,10 @@ int wma_rssi_breached_event_handler(void *handle,
|
||||
*/
|
||||
static void wma_roam_ho_fail_handler(tp_wma_handle wma, uint32_t vdev_id)
|
||||
{
|
||||
struct wma_txrx_node *iface = &wma->interfaces[vdev_id];
|
||||
tSirSmeHOFailureInd *ho_failure_ind;
|
||||
struct scheduler_msg sme_msg = { 0 };
|
||||
QDF_STATUS qdf_status;
|
||||
|
||||
/* For LFR 3.0 hand-off failure, peers will be deleted by FW
|
||||
* no WMI_PEER_DELETE_CMDID will be sent to FW
|
||||
* reset the peer count here
|
||||
*/
|
||||
WMA_LOGD("Reset FW peer count");
|
||||
qdf_atomic_init(&iface->fw_peer_count);
|
||||
qdf_event_set(&iface->fw_peer_delete_completion);
|
||||
|
||||
ho_failure_ind = qdf_mem_malloc(sizeof(tSirSmeHOFailureInd));
|
||||
|
||||
if (NULL == ho_failure_ind) {
|
||||
|
Reference in New Issue
Block a user