diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h
index 497b6e72f5cd..34905a398b99 100644
--- a/core/hdd/inc/wlan_hdd_cfg.h
+++ b/core/hdd/inc/wlan_hdd_cfg.h
@@ -2761,55 +2761,6 @@ enum hdd_dot11_mode {
#define CFG_IDLE_TIME_MIN (0)
#define CFG_IDLE_TIME_MAX (25)
#define CFG_IDLE_TIME_DEFAULT (25)
-
-
-/*
- *
- * gNumStaChanCombinedConc - Number of channels combined for STA in each
- * split scan operation.
- * @Min: 1
- * @Max: 255
- * @Default: 3
- *
- * This ini is used to configure the number of channels combined for STA in
- * each split scan operation.
- *
- * Related: None.
- *
- * Supported Feature: Concurrency
- *
- * Usage: Internal/External
- *
- *
- */
-#define CFG_NUM_STA_CHAN_COMBINED_CONC_NAME "gNumStaChanCombinedConc"
-#define CFG_NUM_STA_CHAN_COMBINED_CONC_MIN (1)
-#define CFG_NUM_STA_CHAN_COMBINED_CONC_MAX (255)
-#define CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT (3)
-
-/*
- *
- * gNumP2PChanCombinedConc - Number of channels combined for P2P in each
- * split scan operation.
- * @Min: 1
- * @Max: 255
- * @Default: 1
- *
- * This ini is used to configure the number of channels combined for P2P in
- * each split scan operation.
- *
- * Related: None.
- *
- * Supported Feature: Concurrency
- *
- * Usage: Internal/External
- *
- *
- */
-#define CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME "gNumP2PChanCombinedConc"
-#define CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN (1)
-#define CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX (255)
-#define CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT (1)
#endif
#define CFG_MAX_PS_POLL_NAME "gMaxPsPoll"
@@ -10211,10 +10162,6 @@ struct hdd_config {
uint32_t min_rest_time_conc;
/* In units of milliseconds */
uint32_t idle_time_conc;
- uint8_t nNumStaChanCombinedConc;
- /* STA in each split scan operation */
- uint8_t nNumP2PChanCombinedConc;
- /* P2P in each split scan operation */
#endif
uint8_t nMaxPsPoll;
diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c
index 7d7a42672bc0..cc522964710a 100644
--- a/core/hdd/src/wlan_hdd_cfg.c
+++ b/core/hdd/src/wlan_hdd_cfg.c
@@ -754,20 +754,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_IDLE_TIME_DEFAULT,
CFG_IDLE_TIME_MIN,
CFG_IDLE_TIME_MAX),
-
- REG_VARIABLE(CFG_NUM_STA_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
- struct hdd_config, nNumStaChanCombinedConc,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_NUM_STA_CHAN_COMBINED_CONC_DEFAULT,
- CFG_NUM_STA_CHAN_COMBINED_CONC_MIN,
- CFG_NUM_STA_CHAN_COMBINED_CONC_MAX),
-
- REG_VARIABLE(CFG_NUM_P2P_CHAN_COMBINED_CONC_NAME, WLAN_PARAM_Integer,
- struct hdd_config, nNumP2PChanCombinedConc,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_NUM_P2P_CHAN_COMBINED_CONC_DEFAULT,
- CFG_NUM_P2P_CHAN_COMBINED_CONC_MIN,
- CFG_NUM_P2P_CHAN_COMBINED_CONC_MAX),
#endif
REG_VARIABLE(CFG_MAX_PS_POLL_NAME, WLAN_PARAM_Integer,
@@ -7172,10 +7158,6 @@ QDF_STATUS hdd_set_sme_config(hdd_context_t *pHddCtx)
smeConfig->csrConfig.nRestTimeConc = pConfig->nRestTimeConc;
smeConfig->csrConfig.min_rest_time_conc = pConfig->min_rest_time_conc;
smeConfig->csrConfig.idle_time_conc = pConfig->idle_time_conc;
- smeConfig->csrConfig.nNumStaChanCombinedConc =
- pConfig->nNumStaChanCombinedConc;
- smeConfig->csrConfig.nNumP2PChanCombinedConc =
- pConfig->nNumP2PChanCombinedConc;
#endif
smeConfig->csrConfig.Is11eSupportEnabled = pConfig->b80211eIsEnabled;
diff --git a/core/sme/inc/csr_api.h b/core/sme/inc/csr_api.h
index bcc4ccc078aa..bd8272019d47 100644
--- a/core/sme/inc/csr_api.h
+++ b/core/sme/inc/csr_api.h
@@ -1155,10 +1155,6 @@ typedef struct tagCsrConfigParam {
uint32_t nActiveMinChnTimeConc; /* in units of milliseconds */
uint32_t nActiveMaxChnTimeConc; /* in units of milliseconds */
uint32_t nRestTimeConc; /* in units of milliseconds */
- /* num of channels combined for STA in each split scan operation */
- uint8_t nNumStaChanCombinedConc;
- /* number of channels combined for P2P in each split scan operation */
- uint8_t nNumP2PChanCombinedConc;
#endif
/*In units of milliseconds*/
uint32_t min_rest_time_conc;
diff --git a/core/sme/inc/csr_internal.h b/core/sme/inc/csr_internal.h
index 43f9a39d3c82..b0abd7458f66 100644
--- a/core/sme/inc/csr_internal.h
+++ b/core/sme/inc/csr_internal.h
@@ -509,10 +509,6 @@ typedef struct tagCsrConfig {
/* In units of milliseconds */
uint32_t idle_time_conc;
- /* number of channels combined for Sta in each split scan operation */
- uint8_t nNumStaChanCombinedConc;
- /* number of channels combined for P2P in each split scan operation */
- uint8_t nNumP2PChanCombinedConc;
#endif
/*
* in dBm, the max TX power. The actual TX power is the lesser of this
@@ -661,9 +657,6 @@ typedef struct tagCsrScanStruct {
tScanProfile scanProfile;
bool fScanEnable;
bool fFullScanIssued;
-#ifdef WLAN_AP_STA_CONCURRENCY
- qdf_mc_timer_t hTimerStaApConcTimer;
-#endif
qdf_mc_timer_t hTimerIdleScan;
/*
* changes on every scan, it is used as a flag for whether 11d info is
diff --git a/core/sme/inc/sme_api.h b/core/sme/inc/sme_api.h
index a473fdba1007..ff68ed01c813 100644
--- a/core/sme/inc/sme_api.h
+++ b/core/sme/inc/sme_api.h
@@ -705,8 +705,6 @@ QDF_STATUS sme_add_periodic_tx_ptrn(tHalHandle hHal, tSirAddPeriodicTxPtrn
*addPeriodicTxPtrnParams);
QDF_STATUS sme_del_periodic_tx_ptrn(tHalHandle hHal, tSirDelPeriodicTxPtrn
*delPeriodicTxPtrnParams);
-void sme_enable_disable_split_scan(tHalHandle hHal, uint8_t nNumStaChan,
- uint8_t nNumP2PChan);
QDF_STATUS sme_send_rate_update_ind(tHalHandle hHal,
tSirRateUpdateInd *rateUpdateParams);
QDF_STATUS sme_roam_del_pmkid_from_cache(tHalHandle hHal, uint8_t sessionId,
diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c
index a0692d4fe44f..135296cec3ce 100644
--- a/core/sme/src/common/sme_api.c
+++ b/core/sme/src/common/sme_api.c
@@ -9780,31 +9780,6 @@ QDF_STATUS sme_is_sta_p2p_client_connected(tHalHandle hHal)
return QDF_STATUS_E_FAILURE;
}
-/*--------------------------------------------------------------------------
- \brief sme_enable_disable_split_scan() - a wrapper function to set the split
- scan parameter.
- This is a synchronous call
- \param hHal - The handle returned by mac_open
- \return NONE.
- \sa
- --------------------------------------------------------------------------*/
-void sme_enable_disable_split_scan(tHalHandle hHal, uint8_t nNumStaChan,
- uint8_t nNumP2PChan)
-{
- tpAniSirGlobal pMac = PMAC_STRUCT(hHal);
-
- pMac->roam.configParam.nNumStaChanCombinedConc = nNumStaChan;
- pMac->roam.configParam.nNumP2PChanCombinedConc = nNumP2PChan;
-
- QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO,
- "%s: SCAN nNumStaChanCombinedConc : %d,"
- "nNumP2PChanCombinedConc : %d ",
- __func__, nNumStaChan, nNumP2PChan);
-
- return;
-
-}
-
/**
* sme_add_periodic_tx_ptrn() - Add Periodic TX Pattern
* @hal: global hal handle
diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c
index 4d099e6a194b..185f6254f569 100644
--- a/core/sme/src/csr/csr_api_roam.c
+++ b/core/sme/src/csr/csr_api_roam.c
@@ -1443,10 +1443,6 @@ static void init_config_param(tpAniSirGlobal pMac)
pMac->roam.configParam.nRestTimeConc = CSR_REST_TIME_CONC;
pMac->roam.configParam.min_rest_time_conc = CSR_MIN_REST_TIME_CONC;
pMac->roam.configParam.idle_time_conc = CSR_IDLE_TIME_CONC;
- pMac->roam.configParam.nNumStaChanCombinedConc =
- CSR_NUM_STA_CHAN_COMBINED_CONC;
- pMac->roam.configParam.nNumP2PChanCombinedConc =
- CSR_NUM_P2P_CHAN_COMBINED_CONC;
#endif
pMac->roam.configParam.nTxPowerCap = CSR_MAX_TX_POWER;
pMac->roam.configParam.allow_tpc_from_ap = true;
@@ -2489,14 +2485,6 @@ QDF_STATUS csr_change_default_config_param(tpAniSirGlobal pMac,
pParam->min_rest_time_conc;
pMac->roam.configParam.idle_time_conc = pParam->idle_time_conc;
- if (pParam->nNumStaChanCombinedConc) {
- pMac->roam.configParam.nNumStaChanCombinedConc =
- pParam->nNumStaChanCombinedConc;
- }
- if (pParam->nNumP2PChanCombinedConc) {
- pMac->roam.configParam.nNumP2PChanCombinedConc =
- pParam->nNumP2PChanCombinedConc;
- }
#endif
pMac->roam.configParam.eBand = pParam->eBand;
pMac->roam.configParam.uCfgDot11Mode =
@@ -2876,8 +2864,6 @@ QDF_STATUS csr_get_config_param(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
pParam->nRestTimeConc = cfg_params->nRestTimeConc;
pParam->min_rest_time_conc = cfg_params->min_rest_time_conc;
pParam->idle_time_conc = cfg_params->idle_time_conc;
- pParam->nNumStaChanCombinedConc = cfg_params->nNumStaChanCombinedConc;
- pParam->nNumP2PChanCombinedConc = cfg_params->nNumP2PChanCombinedConc;
#endif
pParam->eBand = cfg_params->eBand;
pParam->nScanResultAgeCount = cfg_params->agingCount;
diff --git a/core/sme/src/csr/csr_api_scan.c b/core/sme/src/csr/csr_api_scan.c
index 8179a9e6d8cb..7ea28a9754a8 100644
--- a/core/sme/src/csr/csr_api_scan.c
+++ b/core/sme/src/csr/csr_api_scan.c
@@ -95,9 +95,6 @@
static void csr_set_default_scan_timing(tpAniSirGlobal pMac,
tSirScanType scanType,
tCsrScanRequest *pScanRequest);
-#ifdef WLAN_AP_STA_CONCURRENCY
-static void csr_sta_ap_conc_timer_handler(void *);
-#endif
static QDF_STATUS csr_scan_channels(tpAniSirGlobal pMac, tSmeCmd *pCommand);
static void csr_set_cfg_valid_channel_list(tpAniSirGlobal pMac, uint8_t
*pChannelList, uint8_t NumChannels);
@@ -157,7 +154,6 @@ static QDF_STATUS csr_ll_scan_purge_result(tpAniSirGlobal pMac,
QDF_STATUS csr_scan_open(tpAniSirGlobal mac_ctx)
{
- QDF_STATUS status;
csr_ll_open(mac_ctx->hHdd, &mac_ctx->scan.channelPowerInfoList24);
csr_ll_open(mac_ctx->hHdd, &mac_ctx->scan.channelPowerInfoList5G);
#ifdef WLAN_AP_STA_CONCURRENCY
@@ -165,17 +161,8 @@ QDF_STATUS csr_scan_open(tpAniSirGlobal mac_ctx)
#endif
mac_ctx->scan.fFullScanIssued = false;
mac_ctx->scan.nBssLimit = CSR_MAX_BSS_SUPPORT;
-#ifdef WLAN_AP_STA_CONCURRENCY
- status = qdf_mc_timer_init(&mac_ctx->scan.hTimerStaApConcTimer,
- QDF_TIMER_TYPE_SW,
- csr_sta_ap_conc_timer_handler,
- mac_ctx);
- if (!QDF_IS_STATUS_SUCCESS(status)) {
- sme_err("Mem Alloc failed for hTimerStaApConcTimer timer");
- return status;
- }
-#endif
- return status;
+
+ return QDF_STATUS_SUCCESS;
}
QDF_STATUS csr_scan_close(tpAniSirGlobal pMac)
@@ -191,9 +178,6 @@ QDF_STATUS csr_scan_close(tpAniSirGlobal pMac)
csr_ll_close(&pMac->scan.channelPowerInfoList24);
csr_ll_close(&pMac->scan.channelPowerInfoList5G);
csr_scan_disable(pMac);
-#ifdef WLAN_AP_STA_CONCURRENCY
- qdf_mc_timer_destroy(&pMac->scan.hTimerStaApConcTimer);
-#endif
return QDF_STATUS_SUCCESS;
}
@@ -4094,181 +4078,6 @@ void csr_scan_call_callback(tpAniSirGlobal pMac, tSmeCmd *pCommand,
}
}
-#ifdef WLAN_AP_STA_CONCURRENCY
-/**
- * csr_sta_ap_conc_timer_handler - Function to handle STA,AP concurrency timer
- * @pv: pointer variable
- *
- * Function handles STA,AP concurrency timer
- *
- * Return: none
- */
-static void csr_sta_ap_conc_timer_handler(void *pv)
-{
- tpAniSirGlobal mac_ctx = PMAC_STRUCT(pv);
- tListElem *entry;
- tSmeCmd *scan_cmd;
- uint32_t session_id = CSR_SESSION_ID_INVALID;
- tCsrScanRequest scan_req;
- tSmeCmd *send_scancmd = NULL;
- uint8_t num_chn = 0;
- uint8_t numchan_combinedconc = 0;
- uint8_t i, j;
- tCsrChannelInfo *chn_info = NULL;
- uint8_t channel_to_scan[WNI_CFG_VALID_CHANNEL_LIST_LEN];
- QDF_STATUS status;
-
- csr_ll_lock(&mac_ctx->scan.scanCmdPendingList);
-
- entry = csr_ll_peek_head(&mac_ctx->scan.scanCmdPendingList,
- LL_ACCESS_NOLOCK);
-
- if (NULL == entry) {
- csr_ll_unlock(&mac_ctx->scan.scanCmdPendingList);
- return;
- }
-
-
- chn_info = &scan_req.ChannelInfo;
- scan_cmd = GET_BASE_ADDR(entry, tSmeCmd, Link);
- num_chn =
- scan_cmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels;
- session_id = scan_cmd->sessionId;
-
- /*
- * if any session is connected and the number of channels to scan is
- * greater than 1 then split the scan into multiple scan operations
- * on each individual channel else continue to perform scan on all
- * specified channels
- */
-
- /*
- * split scan if number of channels to scan is greater than 1 and
- * any one of the following:
- * - STA session is connected and the scan is not a P2P search
- * - any P2P session is connected
- * Do not split scans if no concurrent infra connections are
- * active and if the scan is a BG scan triggered by LFR (OR)
- * any scan if LFR is in the middle of a BG scan. Splitting
- * the scan is delaying the time it takes for LFR to find
- * candidates and resulting in disconnects.
- */
-
- if ((csr_is_sta_session_connected(mac_ctx) &&
- !csr_is_p2p_session_connected(mac_ctx)))
- numchan_combinedconc =
- mac_ctx->roam.configParam.nNumStaChanCombinedConc;
- else if (csr_is_p2p_session_connected(mac_ctx))
- numchan_combinedconc =
- mac_ctx->roam.configParam.nNumP2PChanCombinedConc;
-
- if ((num_chn > numchan_combinedconc) &&
- ((csr_is_sta_session_connected(mac_ctx) &&
- (csr_is_concurrent_infra_connected(mac_ctx)) &&
- (scan_cmd->u.scanCmd.u.scanRequest.p2pSearch != 1)) ||
- (csr_is_p2p_session_connected(mac_ctx)))) {
- qdf_mem_set(&scan_req, sizeof(tCsrScanRequest), 0);
-
- /* optimize this to use 2 command buffer only */
- send_scancmd = csr_get_command_buffer(mac_ctx);
- if (!send_scancmd) {
- sme_err("Failed to get Queue command buffer");
- csr_ll_unlock(&mac_ctx->scan.scanCmdPendingList);
- return;
- }
- send_scancmd->command = scan_cmd->command;
- send_scancmd->sessionId = scan_cmd->sessionId;
- send_scancmd->u.scanCmd.callback = NULL;
- send_scancmd->u.scanCmd.pContext =
- scan_cmd->u.scanCmd.pContext;
- send_scancmd->u.scanCmd.reason =
- scan_cmd->u.scanCmd.reason;
- /* let it wrap around */
- wma_get_scan_id(&send_scancmd->u.scanCmd.scanID);
-
- /*
- * First copy all the parameters to local variable of scan
- * request
- */
- csr_scan_copy_request(mac_ctx, &scan_req,
- &scan_cmd->u.scanCmd.u.scanRequest);
-
- /*
- * Now modify the elements of local var scan request required
- * to be modified for split scan
- */
- if (scan_req.ChannelInfo.ChannelList != NULL) {
- qdf_mem_free(scan_req.ChannelInfo.ChannelList);
- scan_req.ChannelInfo.ChannelList = NULL;
- }
-
- chn_info->numOfChannels = numchan_combinedconc;
- qdf_mem_copy(&channel_to_scan[0],
- &scan_cmd->u.scanCmd.u.scanRequest.ChannelInfo.
- ChannelList[0], chn_info->numOfChannels
- * sizeof(uint8_t));
- chn_info->ChannelList = &channel_to_scan[0];
-
- for (i = 0, j = numchan_combinedconc;
- i < (num_chn - numchan_combinedconc);
- i++, j++) {
- /* Move all the channels one step */
- scan_cmd->u.scanCmd.u.scanRequest.ChannelInfo.
- ChannelList[i] =
- scan_cmd->u.scanCmd.u.scanRequest.
- ChannelInfo.ChannelList[j];
- }
-
- /* reduce outstanding # of channels to be scanned */
- scan_cmd->u.scanCmd.u.scanRequest.ChannelInfo.numOfChannels =
- num_chn - numchan_combinedconc;
-
- scan_req.BSSType = eCSR_BSS_TYPE_ANY;
- /* Modify callers parameters in case of concurrency */
- scan_req.scanType = eSIR_ACTIVE_SCAN;
- /* Use concurrency values for min/maxChnTime. */
- csr_set_default_scan_timing(mac_ctx, scan_req.scanType,
- &scan_req);
-
- status = csr_scan_copy_request(mac_ctx,
- &send_scancmd->u.scanCmd.u.
- scanRequest, &scan_req);
- if (!QDF_IS_STATUS_SUCCESS(status)) {
- sme_err("csr_scan_copy_request failed status: %d",
- status);
- csr_ll_unlock(&mac_ctx->scan.scanCmdPendingList);
- return;
- }
- /* Clean the local scan variable */
- scan_req.ChannelInfo.ChannelList = NULL;
- scan_req.ChannelInfo.numOfChannels = 0;
- csr_scan_free_request(mac_ctx, &scan_req);
- } else {
- /*
- * no active connected session present or numChn == 1
- * scan all remaining channels
- */
- send_scancmd = scan_cmd;
- /* remove this command from pending list */
- if (csr_ll_remove_head(&mac_ctx->scan.scanCmdPendingList,
- /*
- * In case between PeekHead and here, the entry
- * got removed by another thread.
- */
- LL_ACCESS_NOLOCK) == NULL) {
- sme_err(
- "Failed to remove entry from scanCmdPendingList");
- }
-
- }
- csr_queue_sme_command(mac_ctx, send_scancmd, false);
-
-
- csr_ll_unlock(&mac_ctx->scan.scanCmdPendingList);
-
-}
-#endif
-
bool csr_scan_remove_fresh_scan_command(tpAniSirGlobal pMac, uint8_t sessionId)
{
bool fRet = false;
diff --git a/core/sme/src/csr/csr_inside_api.h b/core/sme/src/csr/csr_inside_api.h
index ee922974e93f..7bb95b12cd6b 100644
--- a/core/sme/src/csr/csr_inside_api.h
+++ b/core/sme/src/csr/csr_inside_api.h
@@ -58,8 +58,6 @@ extern void wlan_objmgr_vdev_release_ref(struct wlan_objmgr_vdev *vdev,
#define CSR_MIN_REST_TIME_CONC 50
#define CSR_IDLE_TIME_CONC 25
-#define CSR_NUM_STA_CHAN_COMBINED_CONC 3
-#define CSR_NUM_P2P_CHAN_COMBINED_CONC 1
#endif
#define CSR_MAX_NUM_SUPPORTED_CHANNELS 55