qcacld-3.0: Fix STA+SAP SCC on DFS when sta_sap_scc_on_dfs_chan = 0

When sta_sap_scc_on_dfs_chan = 0, SAP is not allowed to SCC
with STA on DFS channel. Check the SAP target channel DFS flag
considering the target channel bandwidth.

Change-Id: I321c1055574477fe39ca8569f24a4040c8dc1904
CRs-Fixed: 2756518
This commit is contained in:
Liangwei Dong
2020-08-10 16:35:58 +08:00
committed by snandini
부모 5a9a178921
커밋 cc9cbfc8de
8개의 변경된 파일194개의 추가작업 그리고 83개의 파일을 삭제

파일 보기

@@ -4413,3 +4413,31 @@ wlan_mlme_get_bss_load_rssi_threshold_24ghz(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
bool
wlan_mlme_check_chan_param_has_dfs(struct wlan_objmgr_pdev *pdev,
struct ch_params *ch_params,
uint32_t chan_freq)
{
bool is_dfs = false;
if (ch_params->ch_width == CH_WIDTH_160MHZ) {
is_dfs = true;
} else if (ch_params->ch_width == CH_WIDTH_80P80MHZ) {
if (wlan_reg_get_channel_state_for_freq(
pdev,
chan_freq) == CHANNEL_STATE_DFS ||
wlan_reg_get_channel_state_for_freq(
pdev,
ch_params->mhz_freq_seg1) == CHANNEL_STATE_DFS)
is_dfs = true;
} else if (wlan_reg_get_channel_state_for_freq(
pdev, chan_freq) == CHANNEL_STATE_DFS) {
is_dfs = true;
}
if (WLAN_REG_IS_6GHZ_CHAN_FREQ(chan_freq) ||
WLAN_REG_IS_24GHZ_CH_FREQ(chan_freq))
is_dfs = false;
return is_dfs;
}