wlan: Support 802.11r feature. define WLAN_FEATURE_VOWIFI_11R.
Change-Id: Ib7311cac862e3bd902119eff6a7ffdc2b5a471d8
CR-Fixed: NA
diff --git a/CORE/MAC/src/pe/lim/limFT.c b/CORE/MAC/src/pe/lim/limFT.c
index c5ae0f8..e2b21e2 100644
--- a/CORE/MAC/src/pe/lim/limFT.c
+++ b/CORE/MAC/src/pe/lim/limFT.c
@@ -849,6 +849,12 @@
status = limCreateRICBlockAckIE(pMac, tid, &pSta->tcCfg[tid], ric_ies + offset, &ieLength);
if (eSIR_SUCCESS == status)
{
+ // TODO RIC
+ if ( ieLength > MAX_FTIE_SIZE )
+ {
+ ieLength = 0;
+ return status;
+ }
offset += ieLength;
*ric_ies_length += ieLength;
numBA++;
@@ -876,7 +882,8 @@
tpSirFTPreAuthRsp pFTPreAuthRsp;
tSirMsgQ mmhMsg;
tANI_U16 rspLen = sizeof(tSirFTPreAuthRsp);
- tSirRetStatus sirStatus = eSIR_SUCCESS;
+ // TODO: RIC Support
+ //tSirRetStatus sirStatus = eSIR_SUCCESS;
pFTPreAuthRsp = (tpSirFTPreAuthRsp)vos_mem_malloc(rspLen);
if(NULL == pFTPreAuthRsp)
@@ -914,13 +921,15 @@
#ifdef WLAN_FEATURE_VOWIFI_11R
if ((psessionEntry) && (psessionEntry->is11Rconnection))
{
- /* Fill in the Block Ack RIC IEs in the preAuthRsp */
+ /* TODO: RIC SUPPORT Fill in the Block Ack RIC IEs in the preAuthRsp */
+ /*
sirStatus = limFTFillRICBlockAckInfo(pMac, pFTPreAuthRsp->ric_ies,
(tANI_U32 *)&pFTPreAuthRsp->ric_ies_length);
if (eSIR_SUCCESS != sirStatus)
{
PELOGE(limLog(pMac, LOGE, FL("Fill RIC BA Info failed with status %d"), sirStatus);)
}
+ */
}
#endif
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index b6ab97a..fc673db 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -3003,6 +3003,26 @@
txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME;
}
+ if( NULL != psessionEntry->assocReq )
+ {
+ palFreeMemory(pMac->hHdd, psessionEntry->assocReq);
+ psessionEntry->assocReq = NULL;
+ }
+
+ if( (palAllocateMemory(pMac->hHdd, (void**)&psessionEntry->assocReq,
+ (ft_ies_length))) != eHAL_STATUS_SUCCESS )
+ {
+ PELOGE(limLog(pMac, LOGE, FL("Unable to allocate memory to store assoc request"));)
+ }
+ else
+ {
+ //Store the Assoc request. This is sent to csr/hdd in join cnf response.
+ palCopyMemory(pMac->hHdd, psessionEntry->assocReq, pMac->ft.ftSmeContext.reassoc_ft_ies,
+ (ft_ies_length));
+ psessionEntry->assocReqLen = (ft_ies_length);
+ }
+
+
halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) (nBytes + ft_ies_length),
HAL_TXRX_FRM_802_11_MGMT,
ANI_TXDIR_TODS,