mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 13:44:26 -04:00
qcacld-3.0: Clear wlan_reg_freq_to_chan
Clear wlan_reg_freq_to_chan in is_dfs_unsafe_extra_band_chan, refine unsafe_channel_list for hdd_context to store frequency. Change-Id: I48a75e053228b202122633a32e750f446f839ea3 CRs-Fixed: 2574028
This commit is contained in:
parent
3fac0ecfcd
commit
bcd0a8f349
4 changed files with 21 additions and 20 deletions
|
|
@ -10468,6 +10468,7 @@ static int hdd_validate_avoid_freq_chanlist(
|
|||
unsigned int range_idx, ch_idx;
|
||||
unsigned int unsafe_channel_index, unsafe_channel_count = 0;
|
||||
bool ch_found = false;
|
||||
uint32_t ch_idx_freq;
|
||||
|
||||
unsafe_channel_count = QDF_MIN((uint16_t)hdd_ctx->unsafe_channel_count,
|
||||
(uint16_t)NUM_CHANNELS);
|
||||
|
|
@ -10489,21 +10490,23 @@ static int hdd_validate_avoid_freq_chanlist(
|
|||
ch_idx++) {
|
||||
if (INVALID_CHANNEL == wlan_reg_get_chan_enum(ch_idx))
|
||||
continue;
|
||||
ch_idx_freq = wlan_reg_chan_to_freq(hdd_ctx->pdev,
|
||||
ch_idx);
|
||||
for (unsafe_channel_index = 0;
|
||||
unsafe_channel_index < unsafe_channel_count;
|
||||
unsafe_channel_index++) {
|
||||
if (ch_idx ==
|
||||
if (ch_idx_freq ==
|
||||
hdd_ctx->unsafe_channel_list[
|
||||
unsafe_channel_index]) {
|
||||
hdd_info("Duplicate channel %d",
|
||||
ch_idx);
|
||||
hdd_info("Duplicate channel freq %d",
|
||||
ch_idx_freq);
|
||||
ch_found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!ch_found) {
|
||||
hdd_ctx->unsafe_channel_list[
|
||||
unsafe_channel_count++] = ch_idx;
|
||||
unsafe_channel_count++] = (uint16_t)ch_idx_freq;
|
||||
}
|
||||
ch_found = false;
|
||||
}
|
||||
|
|
@ -10617,7 +10620,7 @@ process_unsafe_channel:
|
|||
for (unsafe_channel_index = 0;
|
||||
unsafe_channel_index < unsafe_channel_count;
|
||||
unsafe_channel_index++) {
|
||||
hdd_debug("Channel %d is not safe",
|
||||
hdd_debug("Channel frequency %d is not safe",
|
||||
hdd_ctx->unsafe_channel_list[unsafe_channel_index]);
|
||||
}
|
||||
if (hdd_local_unsafe_channel_updated(hdd_ctx, local_unsafe_list,
|
||||
|
|
|
|||
|
|
@ -9316,7 +9316,7 @@ void hdd_unsafe_channel_restart_sap(struct hdd_context *hdd_ctxt)
|
|||
uint8_t restart_chan_store[SAP_MAX_NUM_SESSION] = {0};
|
||||
uint8_t restart_chan, ap_chan;
|
||||
uint8_t scc_on_lte_coex = 0;
|
||||
uint32_t restart_freq;
|
||||
uint32_t restart_freq, ap_chan_freq;
|
||||
bool value;
|
||||
QDF_STATUS status;
|
||||
bool is_acs_support_for_dfs_ltecoex = cfg_default(CFG_USER_ACS_DFS_LTE);
|
||||
|
|
@ -9336,6 +9336,8 @@ void hdd_unsafe_channel_restart_sap(struct hdd_context *hdd_ctxt)
|
|||
ap_chan = wlan_reg_freq_to_chan(
|
||||
hdd_ctxt->pdev,
|
||||
adapter->session.ap.operating_chan_freq);
|
||||
ap_chan_freq = adapter->session.ap.operating_chan_freq;
|
||||
|
||||
found = false;
|
||||
status =
|
||||
ucfg_policy_mgr_get_sta_sap_scc_lte_coex_chnl(hdd_ctxt->psoc,
|
||||
|
|
@ -9356,11 +9358,11 @@ void hdd_unsafe_channel_restart_sap(struct hdd_context *hdd_ctxt)
|
|||
hdd_debug("SAP allowed in unsafe SCC channel");
|
||||
} else {
|
||||
for (i = 0; i < hdd_ctxt->unsafe_channel_count; i++) {
|
||||
if (ap_chan ==
|
||||
if (ap_chan_freq ==
|
||||
hdd_ctxt->unsafe_channel_list[i]) {
|
||||
found = true;
|
||||
hdd_debug("operating ch:%d is unsafe",
|
||||
ap_chan);
|
||||
hdd_debug("op ch freq:%d is unsafe",
|
||||
ap_chan_freq);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -9473,8 +9475,8 @@ static void hdd_init_channel_avoidance(struct hdd_context *hdd_ctx)
|
|||
(uint16_t)NUM_CHANNELS);
|
||||
|
||||
for (index = 0; index < unsafe_channel_count; index++) {
|
||||
hdd_debug("channel %d is not safe",
|
||||
hdd_ctx->unsafe_channel_list[index]);
|
||||
hdd_debug("channel frequency %d is not safe",
|
||||
hdd_ctx->unsafe_channel_list[index]);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1182,7 +1182,7 @@ void hdd_ch_avoid_ind(struct hdd_context *hdd_ctxt,
|
|||
|
||||
for (i = 0; i < unsafe_chan_list->chan_cnt; i++) {
|
||||
hdd_ctxt->unsafe_channel_list[i] =
|
||||
wlan_reg_freq_to_chan(hdd_ctxt->pdev, unsafe_chan_list->chan_freq_list[i]);
|
||||
unsafe_chan_list->chan_freq_list[i];
|
||||
}
|
||||
hdd_debug("number of unsafe channels is %d ",
|
||||
hdd_ctxt->unsafe_channel_count);
|
||||
|
|
|
|||
|
|
@ -1388,7 +1388,6 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
|
|||
uint16_t unsafe_chan[NUM_CHANNELS];
|
||||
uint16_t unsafe_chan_cnt = 0;
|
||||
uint16_t cnt = 0;
|
||||
uint8_t channel;
|
||||
uint32_t channel_freq;
|
||||
bool is_unsafe_chan;
|
||||
bool is_same_band;
|
||||
|
|
@ -1421,8 +1420,6 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
|
|||
csr_emu_chan_req(pScan->base_channels.channel_freq_list[i]))
|
||||
continue;
|
||||
|
||||
channel = wlan_reg_freq_to_chan(mac->pdev,
|
||||
pScan->base_channels.channel_freq_list[i]);
|
||||
channel_freq = pScan->base_channels.channel_freq_list[i];
|
||||
/* Scan is not performed on DSRC channels*/
|
||||
if (wlan_reg_is_dsrc_freq(channel_freq))
|
||||
|
|
@ -1438,8 +1435,8 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
|
|||
(channel_state == CHANNEL_STATE_DFS)) {
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_DEBUG,
|
||||
FL("skip dfs channel %d"),
|
||||
channel);
|
||||
FL("skip dfs channel frequency %d"),
|
||||
channel_freq);
|
||||
continue;
|
||||
}
|
||||
if (mac->roam.configParam.sta_roam_policy.
|
||||
|
|
@ -1447,7 +1444,7 @@ QDF_STATUS csr_update_channel_list(struct mac_context *mac)
|
|||
unsafe_chan_cnt) {
|
||||
is_unsafe_chan = false;
|
||||
for (cnt = 0; cnt < unsafe_chan_cnt; cnt++) {
|
||||
if (unsafe_chan[cnt] == channel) {
|
||||
if (unsafe_chan[cnt] == channel_freq) {
|
||||
is_unsafe_chan = true;
|
||||
break;
|
||||
}
|
||||
|
|
@ -2145,8 +2142,7 @@ is_dfs_unsafe_extra_band_chan(struct mac_context *mac_ctx, uint32_t freq,
|
|||
unsafe_chan_cnt) {
|
||||
is_unsafe_chan = false;
|
||||
for (cnt = 0; cnt < unsafe_chan_cnt; cnt++) {
|
||||
if (unsafe_chan[cnt] ==
|
||||
wlan_reg_freq_to_chan(mac_ctx->pdev, freq)) {
|
||||
if (unsafe_chan[cnt] == freq) {
|
||||
is_unsafe_chan = true;
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_DEBUG,
|
||||
|
|
|
|||
Loading…
Reference in a new issue