qcacld-3.0: Cleanup CSR/LIM for Roam sync indication failure in CSR
Currently, failure in csr_roam_synch_cb is not handled, therefore failure during roam sync indication processing in CSR, leads to out-of-sync between LIM and CSR sessions. Handle the failure in csr_roam_synch_cb, by aborting the roam complete notification to FW, and then process HO failure from FW to cleanup LIM and CSR which will hold different BSSID profile. Use vdev id instead of BSSID to retrieve/delete the LIM session. Change-Id: I5ff2280e7ba1a8cb8e44c0c6b70647bf12b6ef31 CRs-Fixed: 3046370
This commit is contained in:

zatwierdzone przez
Madan Koyyalamudi

rodzic
67469f384b
commit
2846627650
@@ -798,7 +798,12 @@ cm_fw_roam_sync_propagation(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
|
||||
cm_update_scan_db_on_roam_success(vdev, connect_rsp,
|
||||
roam_synch_data, cm_id);
|
||||
|
||||
cm_csr_connect_rsp(vdev, rsp);
|
||||
status = cm_csr_connect_rsp(vdev, rsp);
|
||||
if (QDF_IS_STATUS_ERROR(status)) {
|
||||
mlme_err("Roam sync propagation failed, abort roaming");
|
||||
goto error;
|
||||
}
|
||||
|
||||
cm_process_roam_keys(vdev, rsp, cm_id);
|
||||
|
||||
mlme_cm_osif_connect_complete(vdev, connect_rsp);
|
||||
|
@@ -3613,6 +3613,10 @@ cm_roam_switch_to_rso_enable(struct wlan_objmgr_pdev *pdev,
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
case WLAN_ROAM_SYNCH_IN_PROG:
|
||||
if (reason == REASON_ROAM_ABORT) {
|
||||
mlme_debug("Roam synch in progress, drop Roam abort");
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
/*
|
||||
* After roam sych propagation is complete, send
|
||||
* RSO start command to firmware to update AP profile,
|
||||
|
Reference in New Issue
Block a user