summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrunal Soni <ksoni@codeaurora.org>2016-07-14 19:39:02 -0700
committerVishwajith Upendra <vishwaji@codeaurora.org>2016-08-13 14:07:28 -0700
commitcbda8555e6a2f06c8cd6e2d0701056047e03e2f7 (patch)
treefc56d07f9ad3bd2f96432885889b747dfe3690ea
parentbf5840bd7da19c8d5d98202ca04974874355d09b (diff)
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
-rw-r--r--core/cds/src/cds_concurrency.c39
-rw-r--r--core/sme/inc/csr_support.h2
-rw-r--r--core/sme/src/csr/csr_api_roam.c19
-rw-r--r--core/sme/src/csr/csr_util.c120
4 files changed, 31 insertions, 149 deletions
diff --git a/core/cds/src/cds_concurrency.c b/core/cds/src/cds_concurrency.c
index de14e62b8e56..452f1e672f9d 100644
--- a/core/cds/src/cds_concurrency.c
+++ b/core/cds/src/cds_concurrency.c
@@ -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:
diff --git a/core/sme/inc/csr_support.h b/core/sme/inc/csr_support.h
index e5dfa58ebbf6..c0bab6dbb780 100644
--- a/core/sme/inc/csr_support.h
+++ b/core/sme/inc/csr_support.h
@@ -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,
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index 526bfbf16589..4f12771139ae 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -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,
diff --git a/core/sme/src/csr/csr_util.c b/core/sme/src/csr/csr_util.c
index 06ac64232df6..435e8d3e320c 100644
--- a/core/sme/src/csr/csr_util.c
+++ b/core/sme/src/csr/csr_util.c
@@ -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;
}
@@ -1881,111 +1876,6 @@ bool csr_is_profile_rsn(tCsrRoamProfile *pProfile)
}
/**
- * 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
*