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
这个提交包含在:

提交者
Madan Koyyalamudi

父节点
67469f384b
当前提交
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,
|
||||
|
在新工单中引用
屏蔽一个用户