qcacld-3.0: Fix SAP stuck in CAC wait state

Driver checks all 160Mhz 5 GHz SAP as DFS channel SAP, but
it is not right for some regdomain which no DFS required for
some 160 Mhz channels.
Fix by check wlan_reg_get_bonded_channel_state_for_freq API
to set DFS flag.

Change-Id: I8cd402c285e858ef8d322fc8d7cfaa32ae4c2056
CRs-Fixed: 3208538
Tento commit je obsažen v:
Liangwei Dong
2022-05-31 10:16:05 +08:00
odevzdal Madan Koyyalamudi
rodič b940224faf
revize ead788ac8c
4 změnil soubory, kde provedl 16 přidání a 4 odebrání

Zobrazit soubor

@@ -450,7 +450,10 @@ wlansap_roam_process_ch_change_success(struct mac_context *mac_ctx,
}
if (sap_ctx->ch_params.ch_width == CH_WIDTH_160MHZ) {
is_ch_dfs = true;
if (wlan_reg_get_bonded_channel_state_for_freq(
mac_ctx->pdev, target_chan_freq,
sap_ctx->ch_params.ch_width, 0) == CHANNEL_STATE_DFS)
is_ch_dfs = true;
} else if (sap_ctx->ch_params.ch_width == CH_WIDTH_80P80MHZ) {
if (wlan_reg_get_channel_state_for_freq(
mac_ctx->pdev,

Zobrazit soubor

@@ -505,7 +505,10 @@ is_wlansap_cac_required_for_chan(struct mac_context *mac_ctx,
uint8_t sta_cnt, i;
if (ch_params->ch_width == CH_WIDTH_160MHZ) {
is_ch_dfs = true;
if (wlan_reg_get_bonded_channel_state_for_freq(
mac_ctx->pdev, chan_freq,
ch_params->ch_width, 0) == CHANNEL_STATE_DFS)
is_ch_dfs = true;
} else if (ch_params->ch_width == CH_WIDTH_80P80MHZ) {
if (wlan_reg_get_channel_state_for_freq(
mac_ctx->pdev,