diff options
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_cfg.h | 6 | ||||
| -rw-r--r-- | CORE/HDD/inc/wlan_hdd_wext.h | 3 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_cfg.c | 9 | ||||
| -rw-r--r-- | CORE/HDD/src/wlan_hdd_wext.c | 157 | ||||
| -rw-r--r-- | CORE/MAC/inc/qwlan_version.h | 4 | ||||
| -rw-r--r-- | CORE/MAC/inc/sirApi.h | 16 | ||||
| -rw-r--r-- | CORE/MAC/inc/wniApi.h | 2 | ||||
| -rw-r--r-- | CORE/MAC/src/include/sirParams.h | 2 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessMessageQueue.c | 9 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c | 46 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSendSmeRspMessages.c | 61 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSendSmeRspMessages.h | 3 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.c | 1 | ||||
| -rw-r--r-- | CORE/SERVICES/WMA/wma.h | 3 | ||||
| -rw-r--r-- | CORE/SME/inc/csrApi.h | 1 | ||||
| -rw-r--r-- | CORE/SME/inc/csrInternal.h | 10 | ||||
| -rw-r--r-- | CORE/SME/inc/sme_Api.h | 8 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiRoam.c | 79 | ||||
| -rw-r--r-- | CORE/SME/src/csr/csrApiScan.c | 15 | ||||
| -rw-r--r-- | CORE/SME/src/sme_common/sme_Api.c | 29 | ||||
| -rw-r--r-- | CORE/SYS/legacy/src/utils/src/macTrace.c | 2 | ||||
| -rw-r--r-- | CORE/WDA/inc/wlan_qct_wda.h | 3 |
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 |
