1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-09-19 20:50:41 +00:00

Disable AP mode channel switching due to dfs checks

This commit is contained in:
kimocoder 2018-06-22 22:16:54 +02:00
parent 3384d6e2ed
commit 932e3d47d0

View File

@ -1368,7 +1368,7 @@ static void rtw_ap_check_scan(_adapter *padapter)
if (_FALSE == ATOMIC_READ(&pmlmepriv->olbc_ht)) if (_FALSE == ATOMIC_READ(&pmlmepriv->olbc_ht))
ATOMIC_SET(&pmlmepriv->olbc_ht, _TRUE); ATOMIC_SET(&pmlmepriv->olbc_ht, _TRUE);
if (padapter->registrypriv.wifi_spec) if (padapter->registrypriv.wifi_spec)
RTW_INFO("%s: %s is a/b/g ap\n", __func__, pnetwork->network.Ssid.Ssid); RTW_INFO("%s: %s is a/b/g ap\n", __func__, pnetwork->network.Ssid.Ssid);
} }
@ -1523,6 +1523,8 @@ void start_bss_network(_adapter *padapter, struct createbss_parm *parm)
chbw_decision: chbw_decision:
ch_setting_changed = rtw_ap_chbw_decision(padapter, req_ch, req_bw, req_offset ch_setting_changed = rtw_ap_chbw_decision(padapter, req_ch, req_bw, req_offset
, &ch_to_set, &bw_to_set, &offset_to_set, &chbw_allow); , &ch_to_set, &bw_to_set, &offset_to_set, &chbw_allow);
RTW_INFO(FUNC_ADPT_FMT": channel setting changed: %d\n"
, FUNC_ADPT_ARG(padapter), ch_setting_changed);
/* let pnetwork_mlme == pnetwork_mlmeext */ /* let pnetwork_mlme == pnetwork_mlmeext */
_rtw_memcpy(pnetwork, pnetwork_mlmeext, pnetwork_mlmeext->Length); _rtw_memcpy(pnetwork, pnetwork_mlmeext, pnetwork_mlmeext->Length);
@ -1536,7 +1538,7 @@ chbw_decision:
#ifdef CONFIG_MCC_MODE #ifdef CONFIG_MCC_MODE
if (MCC_EN(padapter)) { if (MCC_EN(padapter)) {
/* /*
* due to check under rtw_ap_chbw_decision * due to check under rtw_ap_chbw_decision
* if under MCC mode, means req channel setting is the same as current channel setting * if under MCC mode, means req channel setting is the same as current channel setting
* if not under MCC mode, mean req channel setting is not the same as current channel setting * if not under MCC mode, mean req channel setting is not the same as current channel setting
@ -3989,7 +3991,7 @@ bool rtw_ap_chbw_decision(_adapter *adapter, s16 req_ch, s8 req_bw, s8 req_offse
rtw_hal_set_mcc_setting_disconnect(adapter); rtw_hal_set_mcc_setting_disconnect(adapter);
} }
} }
} }
#endif /* CONFIG_MCC_MODE */ #endif /* CONFIG_MCC_MODE */
@ -4095,16 +4097,16 @@ bool rtw_ap_chbw_decision(_adapter *adapter, s16 req_ch, s8 req_bw, s8 req_offse
goto exit; goto exit;
} }
if (rtw_odm_dfs_domain_unknown(adapter) && rtw_is_dfs_chbw(dec_ch, dec_bw, dec_offset)) { /* if (rtw_odm_dfs_domain_unknown(adapter) && rtw_is_dfs_chbw(dec_ch, dec_bw, dec_offset)) { */
if (req_ch >= 0) /* if (req_ch >= 0) */
RTW_WARN(FUNC_ADPT_FMT" DFS channel %u,%u,%u can't be used\n", FUNC_ADPT_ARG(adapter), dec_ch, dec_bw, dec_offset); /* RTW_WARN(FUNC_ADPT_FMT" DFS channel %u,%u,%u can't be used\n", FUNC_ADPT_ARG(adapter), dec_ch, dec_bw, dec_offset); */
if (req_ch > 0) { /* if (req_ch > 0) { */
/* specific channel and not from IE => don't change channel setting */ /* /\* specific channel and not from IE => don't change channel setting *\/ */
*chbw_allow = _FALSE; /* *chbw_allow = _FALSE; */
goto exit; /* goto exit; */
} /* } */
goto choose_chbw; /* goto choose_chbw; */
} /* } */
if (rtw_chset_is_ch_non_ocp(adapter_to_chset(adapter), dec_ch, dec_bw, dec_offset) == _FALSE) if (rtw_chset_is_ch_non_ocp(adapter_to_chset(adapter), dec_ch, dec_bw, dec_offset) == _FALSE)
goto update_bss_chbw; goto update_bss_chbw;