wlan: Support for NProbes, Home away time and Reassoc
This change has support for NProbes, Scan home away
time and HDD/SME level change for reassoc command
Change-Id: I0c050b4e67ca806b405c68c04d6b99e951dc4c5f
CRs-Fixed: 481935
diff --git a/CORE/WDA/src/wlan_qct_wda.c b/CORE/WDA/src/wlan_qct_wda.c
index 6eba5f1..bba74ba 100644
--- a/CORE/WDA/src/wlan_qct_wda.c
+++ b/CORE/WDA/src/wlan_qct_wda.c
@@ -183,7 +183,7 @@
static VOS_STATUS WDA_ProcessUpdateScanParams(tWDA_CbContext *pWDA, tSirUpdateScanParams *pUpdateScanParams);
#endif // FEATURE_WLAN_SCAN_PNO
#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
-VOS_STATUS WDA_ProcessStartRoamCandidatelookupReq(tWDA_CbContext *pWDA,tSirRoamOffloadScanReq *pRoamOffloadScanReqParams);
+VOS_STATUS WDA_ProcessRoamScanOffloadReq(tWDA_CbContext *pWDA,tSirRoamOffloadScanReq *pRoamOffloadScanReqParams);
void WDA_RoamOffloadScanReqCallback(WDI_Status status, void* pUserData);
void WDA_ConvertSirAuthToWDIAuth(WDI_AuthType *AuthType, v_U8_t csrAuthType);
void WDA_ConvertSirEncToWDIEnc(WDI_EdType *EncrType, v_U8_t csrEncrType);
@@ -10916,9 +10916,9 @@
}
#endif // FEATURE_WLAN_SCAN_PNO
#ifdef WLAN_FEATURE_ROAM_SCAN_OFFLOAD
- case WDA_START_ROAM_CANDIDATE_LOOKUP_REQ:
+ case WDA_ROAM_SCAN_OFFLOAD_REQ:
{
- WDA_ProcessStartRoamCandidatelookupReq(pWDA, (tSirRoamOffloadScanReq *)pMsg->bodyptr);
+ WDA_ProcessRoamScanOffloadReq(pWDA, (tSirRoamOffloadScanReq *)pMsg->bodyptr);
break;
}
#endif
@@ -12265,22 +12265,22 @@
}
/*
- * FUNCTION: WDA_ProcessStartRoamCandidatelookupReq
+ * FUNCTION: WDA_ProcessRoamScanOffloadReq
* Request to WDI to set Roam Offload Scan
*/
-VOS_STATUS WDA_ProcessStartRoamCandidatelookupReq(tWDA_CbContext *pWDA,
+VOS_STATUS WDA_ProcessRoamScanOffloadReq(tWDA_CbContext *pWDA,
tSirRoamOffloadScanReq *pRoamOffloadScanReqParams)
{
WDI_Status status;
- WDI_RoamCandidateLookupReqParamsType *pwdiRoamCandidateLookupReqParams =
- (WDI_RoamCandidateLookupReqParamsType *)vos_mem_malloc(sizeof(WDI_RoamCandidateLookupReqParamsType));
+ WDI_RoamScanOffloadReqParamsType *pwdiRoamScanOffloadReqParams =
+ (WDI_RoamScanOffloadReqParamsType *)vos_mem_malloc(sizeof(WDI_RoamScanOffloadReqParamsType));
tWDA_ReqParams *pWdaParams ;
v_U8_t csrAuthType;
WDI_RoamNetworkType *pwdiRoamNetworkType;
WDI_RoamOffloadScanInfo *pwdiRoamOffloadScanInfo;
VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_INFO,
"------> %s " ,__func__);
- if (NULL == pwdiRoamCandidateLookupReqParams)
+ if (NULL == pwdiRoamScanOffloadReqParams)
{
VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_INFO,
"%s: VOS MEM Alloc Failure", __func__);
@@ -12293,15 +12293,15 @@
VOS_TRACE( VOS_MODULE_ID_WDA, VOS_TRACE_LEVEL_ERROR,
"%s: VOS MEM Alloc Failure", __func__);
VOS_ASSERT(0);
- vos_mem_free(pwdiRoamCandidateLookupReqParams);
+ vos_mem_free(pwdiRoamScanOffloadReqParams);
return VOS_STATUS_E_NOMEM;
}
pwdiRoamNetworkType =
- &pwdiRoamCandidateLookupReqParams->wdiRoamOffloadScanInfo.ConnectedNetwork;
+ &pwdiRoamScanOffloadReqParams->wdiRoamOffloadScanInfo.ConnectedNetwork;
pwdiRoamOffloadScanInfo =
- &pwdiRoamCandidateLookupReqParams->wdiRoamOffloadScanInfo;
- vos_mem_zero (pwdiRoamCandidateLookupReqParams,sizeof(WDI_RoamCandidateLookupReqParamsType));
+ &pwdiRoamScanOffloadReqParams->wdiRoamOffloadScanInfo;
+ vos_mem_zero (pwdiRoamScanOffloadReqParams,sizeof(WDI_RoamScanOffloadReqParamsType));
csrAuthType = pRoamOffloadScanReqParams->ConnectedNetwork.authentication;
pwdiRoamOffloadScanInfo->RoamScanOffloadEnabled =
pRoamOffloadScanReqParams->RoamScanOffloadEnabled;
@@ -12367,13 +12367,17 @@
pRoamOffloadScanReqParams->MDID.mdiePresent;
pwdiRoamOffloadScanInfo->MDID.mobilityDomain =
pRoamOffloadScanReqParams->MDID.mobilityDomain;
- pwdiRoamCandidateLookupReqParams->wdiReqStatusCB = NULL;
+ pwdiRoamOffloadScanInfo->nProbes =
+ pRoamOffloadScanReqParams->nProbes;
+ pwdiRoamOffloadScanInfo->HomeAwayTime =
+ pRoamOffloadScanReqParams->HomeAwayTime;
+ pwdiRoamScanOffloadReqParams->wdiReqStatusCB = NULL;
/* Store Params pass it to WDI */
- pWdaParams->wdaWdiApiMsgParam = (void *)pwdiRoamCandidateLookupReqParams;
+ pWdaParams->wdaWdiApiMsgParam = (void *)pwdiRoamScanOffloadReqParams;
pWdaParams->pWdaContext = pWDA;
/* Store param pointer as passed in by caller */
pWdaParams->wdaMsgParam = pRoamOffloadScanReqParams;
- status = WDI_StartRoamCandidateLookupReq(pwdiRoamCandidateLookupReqParams,
+ status = WDI_RoamScanOffloadReq(pwdiRoamScanOffloadReqParams,
(WDI_RoamOffloadScanCb)WDA_RoamOffloadScanReqCallback, pWdaParams);
if(IS_WDI_STATUS_FAILURE(status))
{