qcacld-3.0: Do SAP CSA if bonded channels are disabled

Currently if STA+SAP SCC on a 6 GHz channel is present and
host received SET_FCC_CHANNEL 0 command then host disables
all 6 GHz channels except for STA connected channel. If
SAP's bandwidth is greater than 20 MHz then kernel sends
stop_ap as SAP bonded channels are disabled.

To address this issue, do CSA to a non 6 GHz frequency.

Change-Id: I89edf3c862c5b02f0eb5865428bdbb0d43d07f85
CRs-Fixed: 3563476
This commit is contained in:
Asutosh Mohapatra
2023-07-24 19:42:15 +05:30
committato da Rahul Choudhary
parent bbece0a981
commit 4a58eb1c4f
2 ha cambiato i file con 22 aggiunte e 3 eliminazioni

Vedi File

@@ -1083,6 +1083,7 @@ policy_mgr_modify_sap_pcl_for_6G_channels(struct wlan_objmgr_psoc *psoc,
qdf_freq_t sta_gc_6ghz_freq = 0;
uint32_t ap_pwr_type_6g = 0;
bool indoor_ch_support = false;
bool keep_6ghz_sta_cli_conn;
pm_ctx = policy_mgr_get_context(psoc);
if (!pm_ctx) {
@@ -1130,10 +1131,12 @@ policy_mgr_modify_sap_pcl_for_6G_channels(struct wlan_objmgr_psoc *psoc,
policy_mgr_debug("STA power type : %d", ap_pwr_type_6g);
ucfg_mlme_get_indoor_channel_support(psoc, &indoor_ch_support);
keep_6ghz_sta_cli_conn = wlan_reg_get_keep_6ghz_sta_cli_connection(
pm_ctx->pdev);
for (i = 0; i < *pcl_len_org; i++) {
if (WLAN_REG_IS_6GHZ_CHAN_FREQ(pcl_list_org[i])) {
if (!WLAN_REG_IS_6GHZ_PSC_CHAN_FREQ(pcl_list_org[i]))
if (!WLAN_REG_IS_6GHZ_PSC_CHAN_FREQ(pcl_list_org[i]) ||
keep_6ghz_sta_cli_conn)
continue;
if (ap_pwr_type_6g == REG_VERY_LOW_POWER_AP)
goto add_freq;