diff options
| author | Krunal Soni <ksoni@codeaurora.org> | 2016-07-14 19:39:02 -0700 |
|---|---|---|
| committer | Vishwajith Upendra <vishwaji@codeaurora.org> | 2016-08-13 14:07:28 -0700 |
| commit | cbda8555e6a2f06c8cd6e2d0701056047e03e2f7 (patch) | |
| tree | fc56d07f9ad3bd2f96432885889b747dfe3690ea | |
| parent | bf5840bd7da19c8d5d98202ca04974874355d09b (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.c | 39 | ||||
| -rw-r--r-- | core/sme/inc/csr_support.h | 2 | ||||
| -rw-r--r-- | core/sme/src/csr/csr_api_roam.c | 19 | ||||
| -rw-r--r-- | core/sme/src/csr/csr_util.c | 120 |
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 * |
