qcacld-3.0: Prevent CSA in middle of CAC

If precac interface is in the middle of CAC, do not
entertain any CSA request coming as part of userspace/
country change/unsafe channel handling. Processing the
Channel change request in middle of CAC leads to teardown
of the SAP as SAP is in SAP_STOPPED state.
This leads to pre-cac failure.

To fix this, prevent CSA while CAC and once CAC is finished,
check the sanity of the operating channel based on
unsafe/disable channel list and move it to a valid channel.

Change-Id: I2757753a2a13bdaef60f9b9a46fcd569ddb7306c
CRs-Fixed: 3505593
This commit is contained in:
Surya Prakash Sivaraj
2023-06-30 11:00:40 +05:30
committed by Rahul Choudhary
父節點 06bb23e366
當前提交 5e69b2f7f7
共有 3 個文件被更改,包括 20 次插入8 次删除

查看文件

@@ -2223,6 +2223,16 @@ void policy_mgr_check_sap_restart(struct wlan_objmgr_psoc *psoc,
return;
}
/*
* Restart should be handled by sap_fsm_validate_and_change_channel(),
* after SAP starts.
*/
if (pm_ctx->hdd_cbacks.hdd_is_cac_in_progress &&
pm_ctx->hdd_cbacks.hdd_is_cac_in_progress()) {
policy_mgr_debug("DFS CAC in progress, do not restart SAP");
return;
}
if (!pm_ctx->hdd_cbacks.wlan_hdd_get_channel_for_sap_restart) {
policy_mgr_err("SAP restart get channel callback in NULL");
goto end;