summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2014-12-23 10:04:27 -0800
committerGerrit - the friendly Code Review server <code-review@localhost>2014-12-23 10:04:27 -0800
commit8130800f227fbf8b5d00a3a1521da72e5c2db77b (patch)
tree3f09e29086a1e0070cabbe481e928a3d337b9d8c
parent327ca32fd8cbd5e1ae3ac6b82d3ec4d830ebf490 (diff)
parentecb2050cc83dc196c98c9bf684ef3fb8698e24c3 (diff)
Merge "Release 4.0.10.005 QCACLD WLAN Driver"
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h6
-rw-r--r--CORE/HDD/inc/wlan_hdd_wext.h3
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg.c9
-rw-r--r--CORE/HDD/src/wlan_hdd_wext.c157
-rw-r--r--CORE/MAC/inc/qwlan_version.h4
-rw-r--r--CORE/MAC/inc/sirApi.h16
-rw-r--r--CORE/MAC/inc/wniApi.h2
-rw-r--r--CORE/MAC/src/include/sirParams.h2
-rw-r--r--CORE/MAC/src/pe/lim/limProcessMessageQueue.c9
-rw-r--r--CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c46
-rw-r--r--CORE/MAC/src/pe/lim/limSendSmeRspMessages.c61
-rw-r--r--CORE/MAC/src/pe/lim/limSendSmeRspMessages.h3
-rw-r--r--CORE/SERVICES/WMA/wma.c1
-rw-r--r--CORE/SERVICES/WMA/wma.h3
-rw-r--r--CORE/SME/inc/csrApi.h1
-rw-r--r--CORE/SME/inc/csrInternal.h10
-rw-r--r--CORE/SME/inc/sme_Api.h8
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c79
-rw-r--r--CORE/SME/src/csr/csrApiScan.c15
-rw-r--r--CORE/SME/src/sme_common/sme_Api.c29
-rw-r--r--CORE/SYS/legacy/src/utils/src/macTrace.c2
-rw-r--r--CORE/WDA/inc/wlan_qct_wda.h3
22 files changed, 40 insertions, 429 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index 698c944a19c1..8fdea0c50ab7 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -2344,6 +2344,11 @@ This feature requires the dependent cfg.ini "gRoamPrefer5GHz" set to 1 */
#define CFG_INITIAL_DWELL_TIME_MIN (0)
#define CFG_INITIAL_DWELL_TIME_MAX (100)
+#define CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME "gInitialScanNoDFSChnl"
+#define CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT (0)
+#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN (0)
+#define CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX (1)
+
#define CFG_OVERRIDE_COUNTRY_CODE "gStaCountryCode"
#define CFG_OVERRIDE_COUNTRY_CODE_DEFAULT "000"
@@ -2844,6 +2849,7 @@ typedef struct
v_U32_t nActiveMaxChnTime; //in units of milliseconds
v_U32_t nInitialDwellTime; //in units of milliseconds
+ bool initial_scan_no_dfs_chnl;
v_U32_t nActiveMinChnTimeBtc; //in units of milliseconds
v_U32_t nActiveMaxChnTimeBtc; //in units of milliseconds
diff --git a/CORE/HDD/inc/wlan_hdd_wext.h b/CORE/HDD/inc/wlan_hdd_wext.h
index ba402fb8c420..988c44297b99 100644
--- a/CORE/HDD/inc/wlan_hdd_wext.h
+++ b/CORE/HDD/inc/wlan_hdd_wext.h
@@ -425,9 +425,6 @@ void hdd_wmm_tx_snapshot(hdd_adapter_t *pAdapter);
#ifdef FEATURE_WLAN_TDLS
VOS_STATUS iw_set_tdls_params(struct net_device *dev, struct iw_request_info *info, union iwreq_data *wrqu, char *extra, int nOffset);
#endif
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-VOS_STATUS wlan_hdd_get_roam_rssi(hdd_adapter_t *pAdapter, v_S7_t *rssi_value);
-#endif
#ifdef WLAN_FEATURE_PACKET_FILTERING
void wlan_hdd_set_mc_addr_list(hdd_adapter_t *pAdapter, v_U8_t set);
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 8b70faf31138..0260b03c6d96 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -2968,6 +2968,13 @@ REG_TABLE_ENTRY g_registry_table[] =
CFG_INITIAL_DWELL_TIME_MIN,
CFG_INITIAL_DWELL_TIME_MAX ),
+ REG_VARIABLE( CFG_INITIAL_SCAN_NO_DFS_CHNL_NAME, WLAN_PARAM_Integer,
+ hdd_config_t, initial_scan_no_dfs_chnl,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+ CFG_INITIAL_SCAN_NO_DFS_CHNL_DEFAULT,
+ CFG_INITIAL_SCAN_NO_DFS_CHNL_MIN,
+ CFG_INITIAL_SCAN_NO_DFS_CHNL_MAX ),
+
REG_VARIABLE( CFG_ACS_BAND_SWITCH_THRESHOLD, WLAN_PARAM_Integer,
hdd_config_t, acsBandSwitchThreshold,
#ifndef WLAN_FEATURE_MBSSID
@@ -5782,6 +5789,8 @@ VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
smeConfig->csrConfig.nRoamingTime = pConfig->nRoamingTime;
smeConfig->csrConfig.IsIdleScanEnabled = pConfig->nEnableIdleScan;
smeConfig->csrConfig.nInitialDwellTime = pConfig->nInitialDwellTime;
+ smeConfig->csrConfig.initial_scan_no_dfs_chnl =
+ pConfig->initial_scan_no_dfs_chnl;
smeConfig->csrConfig.nActiveMaxChnTime = pConfig->nActiveMaxChnTime;
smeConfig->csrConfig.nActiveMinChnTime = pConfig->nActiveMinChnTime;
smeConfig->csrConfig.nPassiveMaxChnTime = pConfig->nPassiveMaxChnTime;
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 953de8342877..851b4e083692 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -325,7 +325,6 @@ static const hdd_freq_chan_map_t freq_chan_map[] = { {2412, 1}, {2417, 2},
#ifdef WLAN_FEATURE_11AC
#define WE_GET_RSSI 6
#endif
-#define WE_GET_ROAM_RSSI 7
#ifdef FEATURE_WLAN_TDLS
#define WE_GET_TDLS_PEERS 8
#endif
@@ -1198,146 +1197,6 @@ VOS_STATUS wlan_hdd_get_snr(hdd_adapter_t *pAdapter, v_S7_t *snr)
return VOS_STATUS_SUCCESS;
}
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-
-static void hdd_GetRoamRssiCB( v_S7_t rssi, tANI_U32 staId, void *pContext )
-{
- struct statsContext *pStatsContext;
- hdd_adapter_t *pAdapter;
- if (ioctl_debug)
- {
- pr_info("%s: rssi [%d] STA [%d] pContext [%p]\n",
- __func__, (int)rssi, (int)staId, pContext);
- }
-
- if (NULL == pContext)
- {
- hddLog(VOS_TRACE_LEVEL_ERROR,
- "%s: Bad param, pContext [%p]",
- __func__, pContext);
- return;
- }
-
- pStatsContext = pContext;
- pAdapter = pStatsContext->pAdapter;
-
- /* there is a race condition that exists between this callback
- function and the caller since the caller could time out either
- before or while this code is executing. we use a spinlock to
- serialize these actions */
- spin_lock(&hdd_context_lock);
-
- if ((NULL == pAdapter) || (RSSI_CONTEXT_MAGIC != pStatsContext->magic))
- {
- /* the caller presumably timed out so there is nothing we can do */
- spin_unlock(&hdd_context_lock);
- hddLog(VOS_TRACE_LEVEL_WARN,
- "%s: Invalid context, pAdapter [%p] magic [%08x]",
- __func__, pAdapter, pStatsContext->magic);
- if (ioctl_debug)
- {
- pr_info("%s: Invalid context, pAdapter [%p] magic [%08x]\n",
- __func__, pAdapter, pStatsContext->magic);
- }
- return;
- }
-
- /* context is valid so caller is still waiting */
-
- /* paranoia: invalidate the magic */
- pStatsContext->magic = 0;
-
- /* copy over the rssi */
- pAdapter->rssi = rssi;
-
- /* notify the caller */
- complete(&pStatsContext->completion);
-
- /* serialization is complete */
- spin_unlock(&hdd_context_lock);
-}
-
-
-
-VOS_STATUS wlan_hdd_get_roam_rssi(hdd_adapter_t *pAdapter, v_S7_t *rssi_value)
-{
- struct statsContext context;
- hdd_context_t *pHddCtx = NULL;
- hdd_station_ctx_t *pHddStaCtx = NULL;
- eHalStatus hstatus;
- unsigned long rc;
-
- if (NULL == pAdapter)
- {
- hddLog(VOS_TRACE_LEVEL_WARN,
- "%s: Invalid context, pAdapter", __func__);
- return VOS_STATUS_E_FAULT;
- }
- if ((WLAN_HDD_GET_CTX(pAdapter))->isLogpInProgress)
- {
- VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, "%s:LOGP in Progress. Ignore!!!",__func__);
- /* return a cached value */
- *rssi_value = pAdapter->rssi;
- return VOS_STATUS_SUCCESS;
- }
-
- pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
- pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
-
- if(eConnectionState_Associated != pHddStaCtx->conn_info.connState)
- {
- VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO, "%s:Not associated!",__func__);
- /* return a cached value */
- *rssi_value = 0;
- return VOS_STATUS_SUCCESS;
- }
- init_completion(&context.completion);
- context.pAdapter = pAdapter;
- context.magic = RSSI_CONTEXT_MAGIC;
-
- hstatus = sme_GetRoamRssi(pHddCtx->hHal, hdd_GetRoamRssiCB,
- pHddStaCtx->conn_info.staId[ 0 ],
- pHddStaCtx->conn_info.bssId,
- &context, pHddCtx->pvosContext);
- if (eHAL_STATUS_SUCCESS != hstatus)
- {
- hddLog(VOS_TRACE_LEVEL_ERROR,"%s: Unable to retrieve RSSI",
- __func__);
- /* we'll returned a cached value below */
- }
- else
- {
- /* request was sent -- wait for the response */
- rc = wait_for_completion_timeout(&context.completion,
- msecs_to_jiffies(WLAN_WAIT_TIME_STATS));
- if (!rc) {
- hddLog(VOS_TRACE_LEVEL_ERROR,
- FL("SME timed out while retrieving RSSI"));
- /* we'll now returned a cached value below */
- }
- }
-
- /* either we never sent a request, we sent a request and received a
- response or we sent a request and timed out. if we never sent a
- request or if we sent a request and got a response, we want to
- clear the magic out of paranoia. if we timed out there is a
- race condition such that the callback function could be
- executing at the same time we are. of primary concern is if the
- callback function had already verified the "magic" but had not
- yet set the completion variable when a timeout occurred. we
- serialize these activities by invalidating the magic while
- holding a shared spinlock which will cause us to block if the
- callback is currently executing */
- spin_lock(&hdd_context_lock);
- context.magic = 0;
- spin_unlock(&hdd_context_lock);
-
- *rssi_value = pAdapter->rssi;
-
- return VOS_STATUS_SUCCESS;
-}
-#endif
-
void hdd_StatisticsCB( void *pStats, void *pContext )
{
@@ -7488,16 +7347,6 @@ static int iw_get_char_setnone(struct net_device *dev, struct iw_request_info *i
}
#endif
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
- case WE_GET_ROAM_RSSI:
- {
- v_S7_t s7Rssi = 0;
- wlan_hdd_get_roam_rssi(pAdapter, &s7Rssi);
- snprintf(extra, WE_MAX_STR_LEN, "rssi=%d", s7Rssi);
- wrqu->data.length = strlen(extra)+1;
- break;
- }
-#endif
case WE_GET_WMM_STATUS:
{
snprintf(extra, WE_MAX_STR_LEN,
@@ -10967,12 +10816,6 @@ static const struct iw_priv_args we_private_args[] = {
IW_PRIV_TYPE_CHAR| WE_MAX_STR_LEN,
"getRSSI" },
#endif
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
- { WE_GET_ROAM_RSSI,
- 0,
- IW_PRIV_TYPE_CHAR| WE_MAX_STR_LEN,
- "getRoamRSSI" },
-#endif
{ WE_GET_WMM_STATUS,
0,
IW_PRIV_TYPE_CHAR| WE_MAX_STR_LEN,
diff --git a/CORE/MAC/inc/qwlan_version.h b/CORE/MAC/inc/qwlan_version.h
index 7115be0e2742..f771025acbfa 100644
--- a/CORE/MAC/inc/qwlan_version.h
+++ b/CORE/MAC/inc/qwlan_version.h
@@ -42,9 +42,9 @@ BRIEF DESCRIPTION:
#define QWLAN_VERSION_MINOR 0
#define QWLAN_VERSION_PATCH 10
#define QWLAN_VERSION_EXTRA ""
-#define QWLAN_VERSION_BUILD 004
+#define QWLAN_VERSION_BUILD 005
-#define QWLAN_VERSIONSTR "4.0.10.004"
+#define QWLAN_VERSIONSTR "4.0.10.005"
#define AR6320_REV1_VERSION 0x5000000
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h
index 5f941c997819..7ccbc50bc85a 100644
--- a/CORE/MAC/inc/sirApi.h
+++ b/CORE/MAC/inc/sirApi.h
@@ -2136,22 +2136,6 @@ typedef struct sAniGetSnrReq
tANI_S8 snr;
} tAniGetSnrReq, *tpAniGetSnrReq;
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-typedef struct sAniGetRoamRssiRsp
-{
- // Common for all types are responses
- tANI_U16 msgType; // message type is same as the request type
- tANI_U16 msgLen; // length of the entire request, includes the pStatsBuf length too
- tANI_U8 sessionId;
- tANI_U32 rc; //success/failure
- tANI_U32 staId; // Per STA stats request must contain valid
- tANI_S8 rssi;
- void *rssiReq; //rssi request backup
-
-} tAniGetRoamRssiRsp, *tpAniGetRoamRssiRsp;
-
-#endif
-
#if defined(FEATURE_WLAN_ESE) || defined(FEATURE_WLAN_ESE_UPLOAD)
typedef struct sSirTsmIE
{
diff --git a/CORE/MAC/inc/wniApi.h b/CORE/MAC/inc/wniApi.h
index 49ac0c5e1146..fbea65291e6c 100644
--- a/CORE/MAC/inc/wniApi.h
+++ b/CORE/MAC/inc/wniApi.h
@@ -190,8 +190,6 @@ enum eWniMsgTypes
eWNI_SME_GET_STATISTICS_REQ,
eWNI_SME_GET_STATISTICS_RSP,
eWNI_SME_GET_RSSI_REQ,
- eWNI_SME_GET_ROAM_RSSI_REQ,
- eWNI_SME_GET_ROAM_RSSI_RSP,
eWNI_SME_GET_ASSOC_STAS_REQ,
eWNI_SME_TKIP_CNTR_MEAS_REQ,
eWNI_SME_UPDATE_APWPSIE_REQ,
diff --git a/CORE/MAC/src/include/sirParams.h b/CORE/MAC/src/include/sirParams.h
index a64caa8fe2a6..407c11674b2e 100644
--- a/CORE/MAC/src/include/sirParams.h
+++ b/CORE/MAC/src/include/sirParams.h
@@ -494,8 +494,6 @@ typedef struct sSirMbMsgP2p
#define SIR_HAL_ROAM_SCAN_OFFLOAD_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 191)
#define SIR_HAL_ROAM_SCAN_OFFLOAD_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 192)
#endif
-#define SIR_HAL_GET_ROAM_RSSI_REQ (SIR_HAL_ITC_MSG_TYPES_BEGIN + 193)
-#define SIR_HAL_GET_ROAM_RSSI_RSP (SIR_HAL_ITC_MSG_TYPES_BEGIN + 194)
#define SIR_HAL_TRAFFIC_STATS_IND (SIR_HAL_ITC_MSG_TYPES_BEGIN + 195)
diff --git a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
index 2c92936b4d61..558d51f86d1c 100644
--- a/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
+++ b/CORE/MAC/src/pe/lim/limProcessMessageQueue.c
@@ -1330,9 +1330,6 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg)
case eWNI_SME_GLOBAL_STAT_REQ:
case eWNI_SME_STAT_SUMM_REQ:
case eWNI_SME_GET_STATISTICS_REQ:
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
- case eWNI_SME_GET_ROAM_RSSI_REQ:
-#endif
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
case eWNI_SME_GET_TSM_STATS_REQ:
#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */
@@ -1817,12 +1814,6 @@ limProcessMessages(tpAniSirGlobal pMac, tpSirMsgQ limMsg)
case WDA_GET_STATISTICS_RSP:
limSendSmePEStatisticsRsp ( pMac, limMsg->type, (void *)limMsg->bodyptr);
break;
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
- case WDA_GET_ROAM_RSSI_RSP:
- limSendSmePEGetRoamRssiRsp ( pMac, limMsg->type, (void *)limMsg->bodyptr);
- break;
-#endif
-
case WDA_SET_MIMOPS_RSP:
case WDA_SET_TX_POWER_RSP:
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
index a22bdbb31e1c..376c5cc23a06 100644
--- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
@@ -4618,45 +4618,6 @@ __limProcessSmeGetTsmStatsRequest(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf)
}
#endif /* FEATURE_WLAN_ESE && FEATURE_WLAN_ESE_UPLOAD */
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-/**
- * __limProcessSmeGetRoamRssiRequest()
- *
- *FUNCTION:
- *
- *
- *NOTE:
- *
- * @param pMac Pointer to Global MAC structure
- * @param *pMsgBuf A pointer to the SME message buffer
- * @return None
- */
-static void
-__limProcessSmeGetRoamRssiRequest(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf)
-{
- tpAniGetRssiReq pPEGetRoamRssiReq = NULL;
- tSirMsgQ msgQ;
-
- pPEGetRoamRssiReq = (tpAniGetRssiReq) pMsgBuf;
- msgQ.type = WDA_GET_ROAM_RSSI_REQ;
-
- msgQ.reserved = 0;
- msgQ.bodyptr = pMsgBuf;
- msgQ.bodyval = 0;
- MTRACE(macTraceMsgTx(pMac, NO_SESSION, msgQ.type));
-
- if( eSIR_SUCCESS != (wdaPostCtrlMsg( pMac, &msgQ ))){
- vos_mem_free( pMsgBuf );
- pMsgBuf = NULL;
- limLog(pMac, LOGP, "Unable to forward request");
- return;
- }
-
- return;
-}
-#endif
-
-
static void
__limProcessSmeUpdateAPWPSIEs(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf)
{
@@ -5806,13 +5767,6 @@ limProcessSmeReqMessages(tpAniSirGlobal pMac, tpSirMsgQ pMsg)
//HAL consumes pMsgBuf. It will be freed there. Set bufConsumed to false.
bufConsumed = FALSE;
break;
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
- case eWNI_SME_GET_ROAM_RSSI_REQ:
- __limProcessSmeGetRoamRssiRequest( pMac, pMsgBuf);
- //HAL consumes pMsgBuf. It will be freed there. Set bufConsumed to false.
- bufConsumed = FALSE;
- break;
-#endif
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
case eWNI_SME_GET_TSM_STATS_REQ:
__limProcessSmeGetTsmStatsRequest( pMac, pMsgBuf);
diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
index b6f76d7bc70b..cb0f3b56ea8c 100644
--- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
+++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
@@ -2541,67 +2541,6 @@ limSendSmePEStatisticsRsp(tpAniSirGlobal pMac, tANI_U16 msgType, void* stats)
} /*** end limSendSmePEStatisticsRsp() ***/
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-/**
- * limSendSmePEGetRoamRssiRsp()
- *
- *FUNCTION:
- * This function is called to send roam rssi response to HDD.
- * This function posts the result back to HDD. This is a response to
- * HDD's request to get roam rssi.
- *
- *PARAMS:
- *
- *LOGIC:
- *
- *ASSUMPTIONS:
- * NA
- *
- *NOTE:
- * NA
- *
- * @param pMac Pointer to Global MAC structure
- * @param p80211Stats Statistics sent in response
- * @param resultCode TODO:
- *
- *
- * @return none
- */
-
-void
-limSendSmePEGetRoamRssiRsp(tpAniSirGlobal pMac, tANI_U16 msgType, void* stats)
-{
- tSirMsgQ mmhMsg;
- tANI_U8 sessionId;
- tAniGetRoamRssiRsp *pPeStats = (tAniGetRoamRssiRsp *) stats;
- tpPESession pPeSessionEntry = NULL;
-
- //Get the Session Id based on Sta Id
- pPeSessionEntry = peFindSessionByStaId(pMac, pPeStats->staId, &sessionId);
-
- //Fill the Session Id
- if(NULL != pPeSessionEntry)
- {
- //Fill the Session Id
- pPeStats->sessionId = pPeSessionEntry->smeSessionId;
- }
-
- pPeStats->msgType = eWNI_SME_GET_ROAM_RSSI_RSP;
-
- //msgType should be WDA_GET_STATISTICS_RSP
- mmhMsg.type = eWNI_SME_GET_ROAM_RSSI_RSP;
-
- mmhMsg.bodyptr = stats;
- mmhMsg.bodyval = 0;
- MTRACE(macTraceMsgTx(pMac, sessionId, mmhMsg.type));
- limSysProcessMmhMsgApi(pMac, &mmhMsg, ePROT);
-
- return;
-
-} /*** end limSendSmePEGetRoamRssiRsp() ***/
-
-#endif
-
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
/**
* limSendSmePEEseTsmRsp()
diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h
index 676a9f8cab9c..b56574b3d6f6 100644
--- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h
+++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.h
@@ -84,9 +84,6 @@ void limSendSmeDeltsInd(tpAniSirGlobal pMac, tpSirDeltsReqInfo delts, tANI_U16 a
void limSendSmeStatsRsp(tpAniSirGlobal pMac, tANI_U16 msgtype, void * stats);
void limSendSmePEStatisticsRsp(tpAniSirGlobal pMac, tANI_U16 msgtype, void * stats);
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-void limSendSmePEGetRoamRssiRsp(tpAniSirGlobal pMac, tANI_U16 msgtype, void * stats);
-#endif
#ifdef FEATURE_WLAN_ESE_UPLOAD
void limSendSmePEEseTsmRsp(tpAniSirGlobal pMac, tAniGetTsmStatsRsp *pStats);
#endif
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index f67de1dbb324..0611194bd8a8 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -23630,6 +23630,7 @@ VOS_STATUS wma_mc_process_msg(v_VOID_t *vos_context, vos_msg_t *msg)
wma_set_base_macaddr_indicate(wma_handle,
(tSirMacAddr *)msg->bodyptr);
vos_mem_free(msg->bodyptr);
+ break;
case WDA_LINK_STATUS_GET_REQ:
wma_process_link_status_req(wma_handle,
(tAniGetLinkStatus *)msg->bodyptr);
diff --git a/CORE/SERVICES/WMA/wma.h b/CORE/SERVICES/WMA/wma.h
index d17ef0522ab3..5bccc7930b97 100644
--- a/CORE/SERVICES/WMA/wma.h
+++ b/CORE/SERVICES/WMA/wma.h
@@ -1042,9 +1042,6 @@ typedef enum
WLAN_HAL_P2P_NOA_START_IND = 184,
- WLAN_HAL_GET_ROAM_RSSI_REQ = 185,
- WLAN_HAL_GET_ROAM_RSSI_RSP = 186,
-
WLAN_HAL_CLASS_B_STATS_IND = 187,
WLAN_HAL_DEL_BA_IND = 188,
WLAN_HAL_DHCP_START_IND = 189,
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index 93fe7ec5cfeb..ac2ad9baf42d 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1118,6 +1118,7 @@ typedef struct tagCsrConfigParam
tANI_U32 nActiveMaxChnTime; //in units of milliseconds
tANI_U32 nInitialDwellTime; //in units of milliseconds
+ bool initial_scan_no_dfs_chnl;
tANI_U32 nActiveMinChnTimeBtc; //in units of milliseconds
tANI_U32 nActiveMaxChnTimeBtc; //in units of milliseconds
diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h
index bb8aad3662b1..e3d805c42f6c 100644
--- a/CORE/SME/inc/csrInternal.h
+++ b/CORE/SME/inc/csrInternal.h
@@ -569,6 +569,7 @@ typedef struct tagCsrConfig
tANI_U32 nActiveMaxChnTime; //in units of milliseconds
tANI_U32 nInitialDwellTime; //in units of milliseconds
+ bool initial_scan_no_dfs_chnl;
tANI_U32 nActiveMinChnTimeBtc; //in units of milliseconds
tANI_U32 nActiveMaxChnTimeBtc; //in units of milliseconds
@@ -1310,15 +1311,6 @@ eHalStatus csrGetRssi(tpAniSirGlobal pMac,tCsrRssiCallback callback,
eHalStatus csrGetSnr(tpAniSirGlobal pMac, tCsrSnrCallback callback,
tANI_U8 staId, tCsrBssid bssId, void *pContext);
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-eHalStatus csrGetRoamRssi(tpAniSirGlobal pMac,
- tCsrRssiCallback callback,
- tANI_U8 staId,
- tCsrBssid bssId,
- void * pContext,
- void * pVosContext);
-#endif
-
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
eHalStatus csrGetTsmStats(tpAniSirGlobal pMac,
tCsrTsmStatsCallback callback,
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index 523de40139d6..78d4a5b5d4c2 100644
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -999,14 +999,6 @@ eHalStatus sme_GetSnr(tHalHandle hHal,
tCsrSnrCallback callback,
tANI_U8 staId, tCsrBssid bssId,
void *pContext);
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-eHalStatus sme_GetRoamRssi(tHalHandle hHal,
- tCsrRssiCallback callback,
- tANI_U8 staId,
- tCsrBssid bssId,
- void *pContext,
- void* pVosContext);
-#endif
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
/* ---------------------------------------------------------------------------
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 6965efeb01ab..75970b95bfcb 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -1174,6 +1174,7 @@ static void initConfigParam(tpAniSirGlobal pMac)
pMac->roam.configParam.doBMPSWorkaround = 0;
pMac->roam.configParam.nInitialDwellTime = 0;
+ pMac->roam.configParam.initial_scan_no_dfs_chnl = 0;
}
eCsrBand csrGetCurrentBand(tHalHandle hHal)
{
@@ -1684,6 +1685,10 @@ eHalStatus csrChangeDefaultConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pPa
//if HDD passed down non zero values then only update,
//otherwise keep using the defaults
+ if (pParam->initial_scan_no_dfs_chnl) {
+ pMac->roam.configParam.initial_scan_no_dfs_chnl =
+ pParam->initial_scan_no_dfs_chnl;
+ }
if (pParam->nInitialDwellTime)
{
pMac->roam.configParam.nInitialDwellTime =
@@ -2079,6 +2084,8 @@ eHalStatus csrGetConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
pMac->roam.configParam.allowDFSChannelRoam;
pParam->nInitialDwellTime =
pMac->roam.configParam.nInitialDwellTime;
+ pParam->initial_scan_no_dfs_chnl =
+ pMac->roam.configParam.initial_scan_no_dfs_chnl;
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
pParam->isRoamOffloadEnabled =
pMac->roam.configParam.isRoamOffloadEnabled;
@@ -9623,40 +9630,6 @@ static void csrUpdateSnr(tpAniSirGlobal pMac, void* pMsg)
return;
}
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-void csrRoamRssiRspProcessor(tpAniSirGlobal pMac, void* pMsg)
-{
- tAniGetRoamRssiRsp* pRoamRssiRsp = (tAniGetRoamRssiRsp*)pMsg;
-
- if (NULL != pRoamRssiRsp)
- {
- /* Get roam Rssi request is backed up and passed back to the response,
- Extract the request message to fetch callback */
- tpAniGetRssiReq reqBkp = (tAniGetRssiReq*)pRoamRssiRsp->rssiReq;
- v_S7_t rssi = pRoamRssiRsp->rssi;
- if ((NULL != reqBkp) && (NULL != reqBkp->rssiCallback))
- {
- ((tCsrRssiCallback)(reqBkp->rssiCallback))(rssi, pRoamRssiRsp->staId, reqBkp->pDevContext);
- vos_mem_free(reqBkp);
- pRoamRssiRsp->rssiReq = NULL;
- }
- else
- {
- smsLog( pMac, LOGE, FL("reqBkp->rssiCallback is NULL"));
- if (NULL != reqBkp)
- {
- vos_mem_free(reqBkp);
- pRoamRssiRsp->rssiReq = NULL;
- }
- }
- }
- else
- {
- smsLog( pMac, LOGE, FL("pRoamRssiRsp is NULL"));
- }
- return;
-}
-#endif
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
void csrTsmStatsRspProcessor(tpAniSirGlobal pMac, void* pMsg)
@@ -10701,12 +10674,6 @@ void csrRoamCheckForLinkStatusChange( tpAniSirGlobal pMac, tSirSmeRsp *pSirMsg )
smsLog( pMac, LOG2, FL("Stats rsp from PE"));
csrRoamStatsRspProcessor( pMac, pSirMsg );
break;
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
- case eWNI_SME_GET_ROAM_RSSI_RSP:
- smsLog( pMac, LOG2, FL("Stats rsp from PE"));
- csrRoamRssiRspProcessor( pMac, pSirMsg );
- break;
-#endif
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
case eWNI_SME_GET_TSM_STATS_RSP:
smsLog( pMac, LOG2, FL("TSM Stats rsp from PE"));
@@ -16098,38 +16065,6 @@ eHalStatus csrGetSnr(tpAniSirGlobal pMac,
return status;
}
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-eHalStatus csrGetRoamRssi(tpAniSirGlobal pMac,
- tCsrRssiCallback callback,
- tANI_U8 staId, tCsrBssid bssId, void *pContext, void* pVosContext)
-{
- eHalStatus status = eHAL_STATUS_SUCCESS;
- tAniGetRssiReq *pMsg;
-
- pMsg = vos_mem_malloc(sizeof(tAniGetRssiReq));
- if ( NULL == pMsg )
- {
- smsLog(pMac, LOGE, FL("Failed to allocate mem for req"));
- return eHAL_STATUS_FAILURE;
- }
- // need to initiate a stats request to PE
- pMsg->msgType = pal_cpu_to_be16((tANI_U16)eWNI_SME_GET_ROAM_RSSI_REQ);
- pMsg->msgLen = (tANI_U16)sizeof(tAniGetRssiReq);
- pMsg->staId = staId;
- pMsg->rssiCallback = callback;
- pMsg->pDevContext = pContext;
- pMsg->pVosContext = pVosContext;
- status = palSendMBMessage(pMac->hHdd, pMsg );
- if(!HAL_STATUS_SUCCESS(status))
- {
- smsLog(pMac, LOGE, FL(" Failed to send down get rssi req"));
- //pMsg is freed by palSendMBMessage
- status = eHAL_STATUS_FAILURE;
- }
- return status;
-}
-#endif
-
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
eHalStatus csrGetTsmStats(tpAniSirGlobal pMac,
tCsrTsmStatsCallback callback,
diff --git a/CORE/SME/src/csr/csrApiScan.c b/CORE/SME/src/csr/csrApiScan.c
index ac68fb376b31..d779140442ba 100644
--- a/CORE/SME/src/csr/csrApiScan.c
+++ b/CORE/SME/src/csr/csrApiScan.c
@@ -864,6 +864,14 @@ eHalStatus csrScanRequest(tpAniSirGlobal pMac, tANI_U16 sessionId,
}
status = csrScanCopyRequest(pMac, &pScanCmd->u.scanCmd.u.scanRequest, pScanRequest);
+ /*
+ * Reset the variable after the first scan is queued after
+ * loading the driver. The purpose of this parameter is that
+ * DFS channels are skipped during the first scan after loading
+ * the driver. The above API builds the target scan request in
+ * which this variable is used.
+ */
+ pMac->roam.configParam.initial_scan_no_dfs_chnl = 0;
if(HAL_STATUS_SUCCESS(status))
{
tCsrScanRequest *pTempScanReq =
@@ -6119,6 +6127,7 @@ eHalStatus csrScanCopyRequest(tpAniSirGlobal pMac, tCsrScanRequest *pDstReq, tCs
tANI_U32 index = 0;
tANI_U32 new_index = 0;
eNVChannelEnabledType NVchannel_state;
+ uint8_t skip_dfs_chnl = pMac->roam.configParam.initial_scan_no_dfs_chnl;
do
{
@@ -6178,7 +6187,8 @@ eHalStatus csrScanCopyRequest(tpAniSirGlobal pMac, tCsrScanRequest *pDstReq, tCs
NVchannel_state = vos_nv_getChannelEnabledState(
pSrcReq->ChannelInfo.ChannelList[index]);
if ((NV_CHANNEL_ENABLE == NVchannel_state) ||
- (NV_CHANNEL_DFS == NVchannel_state))
+ ((NV_CHANNEL_DFS == NVchannel_state) &&
+ !skip_dfs_chnl))
{
pDstReq->ChannelInfo.ChannelList[new_index] =
pSrcReq->ChannelInfo.ChannelList[index];
@@ -6203,7 +6213,8 @@ eHalStatus csrScanCopyRequest(tpAniSirGlobal pMac, tCsrScanRequest *pDstReq, tCs
((eCSR_SCAN_P2P_DISCOVERY == pSrcReq->requestType) &&
CSR_IS_SOCIAL_CHANNEL(pSrcReq->ChannelInfo.ChannelList[index])))
{
- if( (pSrcReq->skipDfsChnlInP2pSearch &&
+ if( ((pSrcReq->skipDfsChnlInP2pSearch ||
+ skip_dfs_chnl) &&
(NV_CHANNEL_DFS == vos_nv_getChannelEnabledState(pSrcReq->ChannelInfo.ChannelList[index])) )
#ifdef FEATURE_WLAN_LFR
/*
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index 3f790b3dffaa..53a7ac9a5b62 100644
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -5279,35 +5279,6 @@ eHalStatus sme_GetSnr(tHalHandle hHal,
}
return status;
}
-#if defined WLAN_FEATURE_VOWIFI_11R || defined FEATURE_WLAN_ESE || defined(FEATURE_WLAN_LFR)
-/* ---------------------------------------------------------------------------
- \fn sme_GetRoamRssi
- \brief a wrapper function that client calls to register a callback to get Roam RSSI
-
- \param callback - SME sends back the requested stats using the callback
- \param staId - The station ID for which the stats is requested for
- \param pContext - user context to be passed back along with the callback
- \param pVosContext - vos context
- \return eHalStatus
- ---------------------------------------------------------------------------*/
-eHalStatus sme_GetRoamRssi(tHalHandle hHal,
- tCsrRssiCallback callback,
- tANI_U8 staId, tCsrBssid bssId,
- void *pContext, void* pVosContext)
-{
- eHalStatus status = eHAL_STATUS_FAILURE;
- tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
-
- status = sme_AcquireGlobalLock( &pMac->sme );
- if ( HAL_STATUS_SUCCESS( status ) )
- {
- status = csrGetRoamRssi( pMac, callback,
- staId, bssId, pContext, pVosContext);
- sme_ReleaseGlobalLock( &pMac->sme );
- }
- return (status);
-}
-#endif
#if defined(FEATURE_WLAN_ESE) && defined(FEATURE_WLAN_ESE_UPLOAD)
/* ---------------------------------------------------------------------------
diff --git a/CORE/SYS/legacy/src/utils/src/macTrace.c b/CORE/SYS/legacy/src/utils/src/macTrace.c
index e910e76f8d96..c4700d03cc69 100644
--- a/CORE/SYS/legacy/src/utils/src/macTrace.c
+++ b/CORE/SYS/legacy/src/utils/src/macTrace.c
@@ -516,8 +516,6 @@ tANI_U8* macTraceGetSmeMsgString( tANI_U16 smeMsg )
CASE_RETURN_STRING(eWNI_SME_EXCLUDE_UNENCRYPTED);
CASE_RETURN_STRING(eWNI_SME_RSSI_IND); //RSSI indication from TL to be serialized on MC thread
CASE_RETURN_STRING(eWNI_SME_MSG_TYPES_END);
- CASE_RETURN_STRING(eWNI_SME_GET_ROAM_RSSI_REQ);
- CASE_RETURN_STRING(eWNI_SME_GET_ROAM_RSSI_RSP);
CASE_RETURN_STRING(eWNI_SME_GET_TSM_STATS_REQ);
CASE_RETURN_STRING(eWNI_SME_GET_TSM_STATS_RSP);
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
diff --git a/CORE/WDA/inc/wlan_qct_wda.h b/CORE/WDA/inc/wlan_qct_wda.h
index aba1139584ec..5d0ced563d7e 100644
--- a/CORE/WDA/inc/wlan_qct_wda.h
+++ b/CORE/WDA/inc/wlan_qct_wda.h
@@ -870,9 +870,6 @@ tSirRetStatus uMacPostCtrlMsg(void* pSirGlobal, tSirMbMsg* pMb);
#define WDA_UPDATE_USERPOS SIR_HAL_UPDATE_USERPOS
#endif
-#define WDA_GET_ROAM_RSSI_REQ SIR_HAL_GET_ROAM_RSSI_REQ
-#define WDA_GET_ROAM_RSSI_RSP SIR_HAL_GET_ROAM_RSSI_RSP
-
#ifdef WLAN_FEATURE_NAN
#define WDA_NAN_REQUEST SIR_HAL_NAN_REQUEST
#endif