qcacld-3.0: Replace channel ID with frequency (bss_description 2)
Prepare to replace channel id with channel frequency of struct bss_description, first cleanup reference of channel id of struct bss_description in lim_api.c csr_api_scan.c csr_host_scan_roam.c csr_roam_preauth.c csr_util.c, use channel frequency instead. Change-Id: I86864c73c429c52399819532cd9b957f66ed94f0 CRs-Fixed: 2491406
This commit is contained in:
parent
4e3f267d81
commit
d2f37fb571
@ -2197,9 +2197,12 @@ lim_roam_fill_bss_descr(struct mac_context *mac,
|
||||
}
|
||||
bss_desc_ptr->freq_self = bss_desc_ptr->chan_freq;
|
||||
|
||||
bss_desc_ptr->nwType = lim_get_nw_type(mac, bss_desc_ptr->channelId,
|
||||
SIR_MAC_MGMT_FRAME,
|
||||
parsed_frm_ptr);
|
||||
bss_desc_ptr->nwType = lim_get_nw_type(
|
||||
mac,
|
||||
wlan_reg_freq_to_chan(mac->pdev,
|
||||
bss_desc_ptr->chan_freq),
|
||||
SIR_MAC_MGMT_FRAME,
|
||||
parsed_frm_ptr);
|
||||
|
||||
bss_desc_ptr->sinr = 0;
|
||||
bss_desc_ptr->beaconInterval = parsed_frm_ptr->beaconInterval;
|
||||
@ -2222,7 +2225,8 @@ lim_roam_fill_bss_descr(struct mac_context *mac,
|
||||
pe_debug("LFR3: BssDescr Info:");
|
||||
QDF_TRACE_HEX_DUMP(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_DEBUG,
|
||||
bss_desc_ptr->bssId, sizeof(tSirMacAddr));
|
||||
pe_debug("chan: %d rssi: %d ie_len %d", bss_desc_ptr->channelId,
|
||||
pe_debug("chan: %d rssi: %d ie_len %d",
|
||||
bss_desc_ptr->chan_freq,
|
||||
bss_desc_ptr->rssi, ie_len);
|
||||
if (ie_len) {
|
||||
qdf_mem_copy(&bss_desc_ptr->ieFields,
|
||||
|
@ -387,7 +387,8 @@ static void csr_scan_add_result(struct mac_context *mac_ctx,
|
||||
frm_type = MGMT_PROBE_RESP;
|
||||
|
||||
rx_param.pdev_id = 0;
|
||||
rx_param.channel = bss_desc->channelId;
|
||||
rx_param.channel = wlan_reg_freq_to_chan(mac_ctx->pdev,
|
||||
bss_desc->chan_freq);
|
||||
rx_param.rssi = bss_desc->rssi;
|
||||
rx_param.tsf_delta = bss_desc->tsf_delta;
|
||||
|
||||
@ -1975,35 +1976,23 @@ csr_get_channel_for_hw_mode_change(struct mac_context *mac_ctx,
|
||||
scan_result = GET_BASE_ADDR(next_element,
|
||||
struct tag_csrscan_result,
|
||||
Link);
|
||||
channel_id = wlan_reg_freq_to_chan(
|
||||
mac_ctx->pdev,
|
||||
scan_result->Result.BssDescriptor.chan_freq);
|
||||
if (policy_mgr_is_hw_dbs_2x2_capable(mac_ctx->psoc)) {
|
||||
if (WLAN_REG_IS_24GHZ_CH
|
||||
(scan_result->Result.BssDescriptor.channelId)) {
|
||||
channel_id =
|
||||
scan_result->
|
||||
Result.BssDescriptor.channelId;
|
||||
if (WLAN_REG_IS_24GHZ_CH(channel_id))
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (WLAN_REG_IS_24GHZ_CH
|
||||
(scan_result->Result.BssDescriptor.channelId) &&
|
||||
if (WLAN_REG_IS_24GHZ_CH(channel_id) &&
|
||||
policy_mgr_is_any_mode_active_on_band_along_with_session
|
||||
(mac_ctx->psoc,
|
||||
session_id, POLICY_MGR_BAND_5)) {
|
||||
channel_id =
|
||||
scan_result->
|
||||
Result.BssDescriptor.channelId;
|
||||
session_id, POLICY_MGR_BAND_5))
|
||||
break;
|
||||
}
|
||||
if (WLAN_REG_IS_5GHZ_CH
|
||||
(scan_result->Result.BssDescriptor.channelId) &&
|
||||
if (WLAN_REG_IS_5GHZ_CH(channel_id) &&
|
||||
policy_mgr_is_any_mode_active_on_band_along_with_session
|
||||
(mac_ctx->psoc,
|
||||
session_id, POLICY_MGR_BAND_24)) {
|
||||
channel_id =
|
||||
scan_result->
|
||||
Result.BssDescriptor.channelId;
|
||||
session_id, POLICY_MGR_BAND_24))
|
||||
break;
|
||||
}
|
||||
}
|
||||
next_element = csr_ll_next(&bss_list->List, next_element,
|
||||
LL_ACCESS_NOLOCK);
|
||||
|
@ -133,6 +133,7 @@ void csr_neighbor_roam_process_scan_results(struct mac_context *mac_ctx,
|
||||
&mac_ctx->roam.neighborRoamInfo[sessionid];
|
||||
tpCsrNeighborRoamBSSInfo bss_info;
|
||||
uint64_t age = 0;
|
||||
uint8_t bss_chan_id;
|
||||
uint8_t num_candidates = 0;
|
||||
uint8_t num_dropped = 0;
|
||||
/*
|
||||
@ -166,11 +167,13 @@ void csr_neighbor_roam_process_scan_results(struct mac_context *mac_ctx,
|
||||
if (!scan_result)
|
||||
break;
|
||||
descr = &scan_result->BssDescriptor;
|
||||
bss_chan_id = wlan_reg_freq_to_chan(mac_ctx->pdev,
|
||||
descr->chan_freq);
|
||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||
FL("Scan result: BSSID " QDF_MAC_ADDR_STR
|
||||
" (Rssi %d, Ch:%d)"),
|
||||
QDF_MAC_ADDR_ARRAY(descr->bssId),
|
||||
(int)abs(descr->rssi), descr->channelId);
|
||||
(int)abs(descr->rssi), descr->chan_freq);
|
||||
|
||||
if (!qdf_mem_cmp(descr->bssId,
|
||||
n_roam_info->currAPbssid.bytes,
|
||||
@ -197,10 +200,9 @@ void csr_neighbor_roam_process_scan_results(struct mac_context *mac_ctx,
|
||||
conc_channel =
|
||||
csr_get_concurrent_operation_channel(mac_ctx);
|
||||
if (conc_channel &&
|
||||
(conc_channel !=
|
||||
scan_result->BssDescriptor.channelId)) {
|
||||
(conc_channel != bss_chan_id)) {
|
||||
sme_debug("MCC not supported so Ignore AP on channel %d",
|
||||
scan_result->BssDescriptor.channelId);
|
||||
descr->chan_freq);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@ -210,11 +212,12 @@ void csr_neighbor_roam_process_scan_results(struct mac_context *mac_ctx,
|
||||
* have duplicates
|
||||
*/
|
||||
if ((n_roam_info->uOsRequestedHandoff) &&
|
||||
((qdf_mem_cmp(descr->bssId,
|
||||
n_roam_info->handoffReqInfo.bssid.bytes,
|
||||
sizeof(tSirMacAddr)))
|
||||
|| (descr->channelId !=
|
||||
n_roam_info->handoffReqInfo.channel))) {
|
||||
((qdf_mem_cmp(
|
||||
descr->bssId,
|
||||
n_roam_info->handoffReqInfo.bssid.bytes,
|
||||
sizeof(tSirMacAddr))) ||
|
||||
(bss_chan_id !=
|
||||
n_roam_info->handoffReqInfo.channel))) {
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_DEBUG,
|
||||
"SKIP-not a candidate AP for OS requested roam");
|
||||
@ -564,7 +567,8 @@ void csr_neighbor_roam_request_handoff(struct mac_context *mac_ctx,
|
||||
qdf_mem_copy(neighbor_roam_info->csrNeighborRoamProfile.BSSIDs.bssid,
|
||||
handoff_node.pBssDescription->bssId, sizeof(tSirMacAddr));
|
||||
neighbor_roam_info->csrNeighborRoamProfile.ChannelInfo.ChannelList[0] =
|
||||
handoff_node.pBssDescription->channelId;
|
||||
wlan_reg_freq_to_chan(mac_ctx->pdev,
|
||||
handoff_node.pBssDescription->chan_freq);
|
||||
|
||||
sme_debug("csr_roamHandoffRequested: disassociating with current AP");
|
||||
|
||||
|
@ -244,7 +244,8 @@ QDF_STATUS csr_neighbor_roam_preauth_rsp_handler(struct mac_context *mac_ctx,
|
||||
sme_debug("After Pre-Auth: BSSID " QDF_MAC_ADDR_STR ", Ch:%d",
|
||||
QDF_MAC_ADDR_ARRAY(
|
||||
preauth_rsp_node->pBssDescription->bssId),
|
||||
(int)preauth_rsp_node->pBssDescription->channelId);
|
||||
(int)wlan_reg_freq_to_chan(mac_ctx->pdev,
|
||||
preauth_rsp_node->pBssDescription->chan_freq));
|
||||
|
||||
csr_neighbor_roam_send_lfr_metric_event(mac_ctx, session_id,
|
||||
preauth_rsp_node->pBssDescription->bssId,
|
||||
@ -454,6 +455,7 @@ static uint32_t csr_get_dot11_mode(struct mac_context *mac_ctx,
|
||||
session_id);
|
||||
enum csr_cfgdot11mode ucfg_dot11_mode, cfg_dot11_mode;
|
||||
QDF_STATUS status;
|
||||
uint8_t bss_chan_id;
|
||||
tDot11fBeaconIEs *ies_local = NULL;
|
||||
uint32_t dot11mode = 0;
|
||||
|
||||
@ -476,6 +478,8 @@ static uint32_t csr_get_dot11_mode(struct mac_context *mac_ctx,
|
||||
return 0;
|
||||
}
|
||||
|
||||
bss_chan_id = wlan_reg_freq_to_chan(mac_ctx->pdev,
|
||||
bss_desc->chan_freq);
|
||||
if (csr_is_phy_mode_match(mac_ctx,
|
||||
csr_session->pCurRoamProfile->phyMode,
|
||||
bss_desc, csr_session->pCurRoamProfile,
|
||||
@ -483,7 +487,7 @@ static uint32_t csr_get_dot11_mode(struct mac_context *mac_ctx,
|
||||
ucfg_dot11_mode = cfg_dot11_mode;
|
||||
else {
|
||||
sme_err("Can not find match phy mode");
|
||||
if (WLAN_REG_IS_5GHZ_CH(bss_desc->channelId))
|
||||
if (WLAN_REG_IS_5GHZ_CH(bss_chan_id))
|
||||
ucfg_dot11_mode = eCSR_CFG_DOT11_MODE_11A;
|
||||
else
|
||||
ucfg_dot11_mode = eCSR_CFG_DOT11_MODE_11G;
|
||||
@ -495,9 +499,9 @@ static uint32_t csr_get_dot11_mode(struct mac_context *mac_ctx,
|
||||
sme_debug("dot11mode %d ucfg_dot11_mode %d",
|
||||
dot11mode, ucfg_dot11_mode);
|
||||
|
||||
if (bss_desc->channelId <= 14 &&
|
||||
!mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
|
||||
MLME_DOT11_MODE_11AC == dot11mode) {
|
||||
if (bss_chan_id <= 14 &&
|
||||
!mac_ctx->mlme_cfg->vht_caps.vht_cap_info.b24ghz_band &&
|
||||
MLME_DOT11_MODE_11AC == dot11mode) {
|
||||
/* Need to disable VHT operation in 2.4 GHz band */
|
||||
dot11mode = MLME_DOT11_MODE_11N;
|
||||
}
|
||||
@ -544,7 +548,8 @@ QDF_STATUS csr_roam_issue_ft_preauth_req(struct mac_context *mac_ctx,
|
||||
/* Save the SME Session ID. We need it while processing preauth resp */
|
||||
csr_session->ftSmeContext.smeSessionId = session_id;
|
||||
preauth_req->messageType = eWNI_SME_FT_PRE_AUTH_REQ;
|
||||
preauth_req->preAuthchannelNum = bss_desc->channelId;
|
||||
preauth_req->preAuthchannelNum =
|
||||
wlan_reg_freq_to_chan(mac_ctx->pdev, bss_desc->chan_freq);
|
||||
preauth_req->dot11mode = dot11mode;
|
||||
|
||||
qdf_mem_copy((void *)&preauth_req->currbssId,
|
||||
@ -762,9 +767,8 @@ QDF_STATUS csr_neighbor_roam_issue_preauth_req(struct mac_context *mac_ctx,
|
||||
eCsrPerformPreauth, true);
|
||||
|
||||
sme_debug("Before Pre-Auth: BSSID " QDF_MAC_ADDR_STR ", Ch:%d",
|
||||
QDF_MAC_ADDR_ARRAY(
|
||||
neighbor_bss_node->pBssDescription->bssId),
|
||||
(int)neighbor_bss_node->pBssDescription->channelId);
|
||||
QDF_MAC_ADDR_ARRAY(neighbor_bss_node->pBssDescription->bssId),
|
||||
neighbor_bss_node->pBssDescription->chan_freq);
|
||||
|
||||
if (QDF_STATUS_SUCCESS != status) {
|
||||
sme_err("Return failed preauth request status %d",
|
||||
|
@ -1227,10 +1227,12 @@ bool csr_is_valid_mc_concurrent_session(struct mac_context *mac_ctx,
|
||||
pSession = CSR_GET_SESSION(mac_ctx, session_id);
|
||||
if (!pSession->pCurRoamProfile)
|
||||
return false;
|
||||
if (QDF_STATUS_SUCCESS == csr_validate_mcc_beacon_interval(mac_ctx,
|
||||
bss_descr->channelId,
|
||||
&bss_descr->beaconInterval, session_id,
|
||||
pSession->pCurRoamProfile->csrPersona))
|
||||
if (QDF_STATUS_SUCCESS == csr_validate_mcc_beacon_interval(
|
||||
mac_ctx,
|
||||
wlan_reg_freq_to_chan(mac_ctx->pdev,
|
||||
bss_descr->chan_freq),
|
||||
&bss_descr->beaconInterval, session_id,
|
||||
pSession->pCurRoamProfile->csrPersona))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
@ -1908,6 +1910,7 @@ bool csr_is_phy_mode_match(struct mac_context *mac, uint32_t phyMode,
|
||||
eCsrPhyMode phyModeInBssDesc = eCSR_DOT11_MODE_AUTO, phyMode2;
|
||||
enum csr_cfgdot11mode cfgDot11ModeToUse = eCSR_CFG_DOT11_MODE_AUTO;
|
||||
uint32_t bitMask, loopCount;
|
||||
uint8_t bss_chan_id;
|
||||
|
||||
if (!QDF_IS_STATUS_SUCCESS(csr_get_phy_mode_from_bss(mac, pSirBssDesc,
|
||||
&phyModeInBssDesc, pIes)))
|
||||
@ -1931,6 +1934,7 @@ bool csr_is_phy_mode_match(struct mac_context *mac, uint32_t phyMode,
|
||||
}
|
||||
}
|
||||
|
||||
bss_chan_id = wlan_reg_freq_to_chan(mac->pdev, pSirBssDesc->chan_freq);
|
||||
if ((0 == phyMode) || (eCSR_DOT11_MODE_AUTO & phyMode)) {
|
||||
if (0 != phyMode) {
|
||||
if (eCSR_DOT11_MODE_AUTO & phyMode) {
|
||||
@ -1943,7 +1947,7 @@ bool csr_is_phy_mode_match(struct mac_context *mac, uint32_t phyMode,
|
||||
fMatch = csr_get_phy_mode_in_use(mac, phyMode2,
|
||||
phyModeInBssDesc,
|
||||
WLAN_REG_IS_5GHZ_CH(
|
||||
pSirBssDesc->channelId),
|
||||
bss_chan_id),
|
||||
&cfgDot11ModeToUse);
|
||||
} else {
|
||||
bitMask = 1;
|
||||
@ -1953,7 +1957,7 @@ bool csr_is_phy_mode_match(struct mac_context *mac, uint32_t phyMode,
|
||||
if (0 != phyMode2 &&
|
||||
csr_get_phy_mode_in_use(mac, phyMode2,
|
||||
phyModeInBssDesc,
|
||||
WLAN_REG_IS_5GHZ_CH(pSirBssDesc->channelId),
|
||||
WLAN_REG_IS_5GHZ_CH(bss_chan_id),
|
||||
&cfgDot11ModeToUse)) {
|
||||
fMatch = true;
|
||||
break;
|
||||
@ -1978,8 +1982,7 @@ bool csr_is_phy_mode_match(struct mac_context *mac, uint32_t phyMode,
|
||||
(eCSR_CFG_DOT11_MODE_11AX ==
|
||||
cfgDot11ModeToUse))) {
|
||||
/* We cannot do 11n here */
|
||||
if (!WLAN_REG_IS_5GHZ_CH
|
||||
(pSirBssDesc->channelId)) {
|
||||
if (!WLAN_REG_IS_5GHZ_CH(bss_chan_id)) {
|
||||
cfgDot11ModeToUse =
|
||||
eCSR_CFG_DOT11_MODE_11G;
|
||||
} else {
|
||||
|
Loading…
Reference in New Issue
Block a user