mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
qcacld-3.0: Remove deprecated API csr_isconcurrentsession_valid
In current driver, there is already an API called cds_allow_concurrency which is functionally similar to csr_isconcurrentsession_valid. Remove old API csr_isconcurrentsession_valid to have single API. Change-Id: If81900af5cb7291917fe915b44af5cf763f16d46 CRs-Fixed: 1047054
This commit is contained in:
parent
bf5840bd7d
commit
cbda8555e6
4 changed files with 31 additions and 149 deletions
|
|
@ -5323,10 +5323,13 @@ bool cds_allow_concurrency(enum cds_con_mode mode,
|
|||
}
|
||||
}
|
||||
|
||||
/* don't allow IBSS + STA MCC */
|
||||
/* don't allow IBSS + STA SCC if IBSS is on DFS channel */
|
||||
count = cds_mode_specific_connection_count(
|
||||
CDS_STA_MODE, list);
|
||||
/*
|
||||
* Check all IBSS+STA concurrencies
|
||||
*
|
||||
* don't allow IBSS + STA MCC
|
||||
* don't allow IBSS + STA SCC if IBSS is on DFS channel
|
||||
*/
|
||||
count = cds_mode_specific_connection_count(CDS_STA_MODE, list);
|
||||
if ((CDS_IBSS_MODE == mode) &&
|
||||
(cds_mode_specific_connection_count(
|
||||
CDS_IBSS_MODE, list)) && count) {
|
||||
|
|
@ -5365,7 +5368,7 @@ bool cds_allow_concurrency(enum cds_con_mode mode,
|
|||
goto done;
|
||||
}
|
||||
}
|
||||
count = cds_mode_specific_connection_count(CDS_STA_MODE, list);
|
||||
|
||||
if ((CDS_STA_MODE == mode) &&
|
||||
(cds_mode_specific_connection_count(
|
||||
CDS_IBSS_MODE, list)) && count) {
|
||||
|
|
@ -5403,18 +5406,6 @@ bool cds_allow_concurrency(enum cds_con_mode mode,
|
|||
}
|
||||
}
|
||||
|
||||
/* don't allow concurrency on vht160 or vht 80+80 */
|
||||
if (num_connections &&
|
||||
((bw == HW_MODE_80_PLUS_80_MHZ) || (bw == HW_MODE_160_MHZ))) {
|
||||
cds_err("No VHT160, we have one connection already");
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (cds_vht160_conn_exist()) {
|
||||
cds_err("VHT160/80+80 connection exists, no concurrency");
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* don't allow two P2P GO on same band */
|
||||
if (channel && (mode == CDS_P2P_GO_MODE) && num_connections) {
|
||||
index = 0;
|
||||
|
|
@ -5430,6 +5421,20 @@ bool cds_allow_concurrency(enum cds_con_mode mode,
|
|||
}
|
||||
}
|
||||
|
||||
/* don't allow concurrency on vht160 or vht 80+80 */
|
||||
if (num_connections &&
|
||||
((bw == HW_MODE_80_PLUS_80_MHZ) ||
|
||||
(bw == HW_MODE_160_MHZ))) {
|
||||
cds_err("No VHT160, we have one connection already");
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (cds_vht160_conn_exist()) {
|
||||
cds_err("VHT160/80+80 connection exists, no concurrency");
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
||||
status = true;
|
||||
|
||||
done:
|
||||
|
|
|
|||
|
|
@ -355,8 +355,6 @@ QDF_STATUS csr_reassoc(tpAniSirGlobal pMac, uint32_t sessionId,
|
|||
tCsrRoamModifyProfileFields *pModProfileFields,
|
||||
uint32_t *pRoamId, bool fForce);
|
||||
|
||||
QDF_STATUS csr_isconcurrentsession_valid(tpAniSirGlobal pMac,
|
||||
uint32_t cursessionId, enum tQDF_ADAPTER_MODE currBssPersona);
|
||||
/* BeaconInterval validation for MCC support */
|
||||
QDF_STATUS csr_validate_mcc_beacon_interval(tpAniSirGlobal pMac, uint8_t channelId,
|
||||
uint16_t *beaconInterval, uint32_t cursessionId,
|
||||
|
|
|
|||
|
|
@ -14779,21 +14779,10 @@ QDF_STATUS csr_send_mb_start_bss_req_msg(tpAniSirGlobal pMac, uint32_t sessionId
|
|||
else
|
||||
wTmp = WNI_CFG_BEACON_INTERVAL_STADEF;
|
||||
|
||||
if (csr_isconcurrentsession_valid(pMac, sessionId, pParam->bssPersona)
|
||||
== QDF_STATUS_SUCCESS) {
|
||||
csr_validate_mcc_beacon_interval(pMac,
|
||||
pParam->operationChn,
|
||||
&wTmp,
|
||||
sessionId,
|
||||
pParam->bssPersona);
|
||||
/* Update the beacon Interval */
|
||||
pParam->beaconInterval = wTmp;
|
||||
} else {
|
||||
sms_log(pMac, LOGE,
|
||||
FL("****Start BSS failed persona already exists***"));
|
||||
qdf_mem_free(pMsg);
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
csr_validate_mcc_beacon_interval(pMac, pParam->operationChn,
|
||||
&wTmp, sessionId, pParam->bssPersona);
|
||||
/* Update the beacon Interval */
|
||||
pParam->beaconInterval = wTmp;
|
||||
pMsg->beaconInterval = wTmp;
|
||||
pMsg->dot11mode =
|
||||
csr_translate_to_wni_cfg_dot11_mode(pMac,
|
||||
|
|
|
|||
|
|
@ -1056,16 +1056,11 @@ bool csr_is_valid_mc_concurrent_session(tpAniSirGlobal mac_ctx,
|
|||
pSession = CSR_GET_SESSION(mac_ctx, session_id);
|
||||
if (NULL == pSession->pCurRoamProfile)
|
||||
return false;
|
||||
if (QDF_STATUS_SUCCESS ==
|
||||
csr_isconcurrentsession_valid(mac_ctx, session_id,
|
||||
pSession->pCurRoamProfile->csrPersona)) {
|
||||
if (QDF_STATUS_SUCCESS ==
|
||||
csr_validate_mcc_beacon_interval(mac_ctx,
|
||||
bss_descr->channelId,
|
||||
&bss_descr->beaconInterval, session_id,
|
||||
pSession->pCurRoamProfile->csrPersona))
|
||||
return true;
|
||||
}
|
||||
if (QDF_STATUS_SUCCESS == csr_validate_mcc_beacon_interval(mac_ctx,
|
||||
bss_descr->channelId,
|
||||
&bss_descr->beaconInterval, session_id,
|
||||
pSession->pCurRoamProfile->csrPersona))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1880,111 +1875,6 @@ bool csr_is_profile_rsn(tCsrRoamProfile *pProfile)
|
|||
return fRSNProfile;
|
||||
}
|
||||
|
||||
/**
|
||||
* csr_isconcurrentsession_valid() - check if concurrent session is valid
|
||||
* @mac_ctx: pointer to mac context
|
||||
* @cur_sessionid: current session id
|
||||
* @cur_bss_persona: current BSS persona
|
||||
*
|
||||
* This function will check if concurrent session is valid
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
csr_isconcurrentsession_valid(tpAniSirGlobal mac_ctx, uint32_t cur_sessionid,
|
||||
enum tQDF_ADAPTER_MODE cur_bss_persona)
|
||||
{
|
||||
uint32_t sessionid = 0;
|
||||
enum tQDF_ADAPTER_MODE bss_persona;
|
||||
eCsrConnectState connect_state, temp;
|
||||
tCsrRoamSession *roam_session;
|
||||
|
||||
for (sessionid = 0; sessionid < CSR_ROAM_SESSION_MAX; sessionid++) {
|
||||
if (cur_sessionid == sessionid)
|
||||
continue;
|
||||
if (!CSR_IS_SESSION_VALID(mac_ctx, sessionid))
|
||||
continue;
|
||||
roam_session = &mac_ctx->roam.roamSession[sessionid];
|
||||
bss_persona = roam_session->bssParams.bssPersona;
|
||||
connect_state = roam_session->connectState;
|
||||
|
||||
switch (cur_bss_persona) {
|
||||
case QDF_STA_MODE:
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_INFO,
|
||||
FL("** STA session **"));
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
case QDF_SAP_MODE:
|
||||
temp = eCSR_ASSOC_STATE_TYPE_IBSS_DISCONNECTED;
|
||||
if ((bss_persona == QDF_IBSS_MODE)
|
||||
&& (connect_state != temp)) {
|
||||
/* allow IBSS+SAP for Emulation only */
|
||||
#ifndef QCA_WIFI_3_0_EMU
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
FL("Can't start SAP"));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
case QDF_P2P_GO_MODE:
|
||||
temp = eCSR_ASSOC_STATE_TYPE_IBSS_DISCONNECTED;
|
||||
if ((bss_persona == QDF_IBSS_MODE)
|
||||
&& (connect_state != temp)) {
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
FL("Can't start SAP"));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
break;
|
||||
case QDF_IBSS_MODE:
|
||||
if ((bss_persona == QDF_IBSS_MODE) &&
|
||||
(connect_state ==
|
||||
eCSR_ASSOC_STATE_TYPE_IBSS_CONNECTED)) {
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
FL("IBSS mode already exist"));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
} else if (((bss_persona == QDF_P2P_GO_MODE) ||
|
||||
(bss_persona == QDF_SAP_MODE)) &&
|
||||
(connect_state !=
|
||||
eCSR_ASSOC_STATE_TYPE_NOT_CONNECTED)) {
|
||||
/* allow IBSS+SAP for Emulation only */
|
||||
#ifndef QCA_WIFI_3_0_EMU
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
FL("Can't start GO/SAP"));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
case QDF_P2P_CLIENT_MODE:
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_INFO,
|
||||
FL("**P2P-Client session**"));
|
||||
return QDF_STATUS_SUCCESS;
|
||||
case QDF_NDI_MODE:
|
||||
if (bss_persona != QDF_STA_MODE) {
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
FL("***NDI mode can co-exist only with STA ***"));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
QDF_TRACE(QDF_MODULE_ID_SME,
|
||||
QDF_TRACE_LEVEL_ERROR,
|
||||
FL("Persona not handled = %d"),
|
||||
cur_bss_persona);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return QDF_STATUS_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* csr_update_mcc_p2p_beacon_interval() - update p2p beacon interval
|
||||
* @mac_ctx: pointer to mac context
|
||||
|
|
|
|||
Loading…
Reference in a new issue