summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAtul Mittal <atulmt@qti.qualcomm.com>2014-09-19 19:04:09 +0530
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2014-09-25 17:32:50 +0530
commitd3507367ab3d62563e91e832f7447f1ef5bc40bc (patch)
tree1e500d72bf28a9c5143e610bb69f34848a61cc47
parent50f0a4acd1ff9dfc416b79eca1e4be690af215db (diff)
TDLS: Add RSN and Timeout interval IEs in TDLS Discovery response frame
If RSN is enabled, add RSN and Timeout interval IEs in TDLS Discovery response frame. Change-Id: I970d1607c9454e9a59e5ac1a11221bf12c194a7c CRs-Fixed: 727086
-rw-r--r--CORE/MAC/src/pe/lim/limProcessTdls.c24
1 files changed, 18 insertions, 6 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessTdls.c b/CORE/MAC/src/pe/lim/limProcessTdls.c
index f9fc4d15f6b4..4d77c07ba16b 100644
--- a/CORE/MAC/src/pe/lim/limProcessTdls.c
+++ b/CORE/MAC/src/pe/lim/limProcessTdls.c
@@ -598,7 +598,9 @@ static void PopulateDot11fTdlsHtVhtCap(tpAniSirGlobal pMac, uint32 selfDot11Mode
*/
static tSirRetStatus limSendTdlsDisRspFrame(tpAniSirGlobal pMac,
- tSirMacAddr peerMac, tANI_U8 dialog, tpPESession psessionEntry)
+ tSirMacAddr peerMac, tANI_U8 dialog,
+ tpPESession psessionEntry, tANI_U8 *addIe,
+ tANI_U16 addIeLen)
{
tDot11fTDLSDisRsp tdlsDisRsp ;
tANI_U16 caps = 0 ;
@@ -698,7 +700,7 @@ static tSirRetStatus limSendTdlsDisRspFrame(tpAniSirGlobal pMac,
*/
- nBytes = nPayload + sizeof( tSirMacMgmtHdr ) ;
+ nBytes = nPayload + sizeof( tSirMacMgmtHdr ) + addIeLen;
/* Ok-- try to allocate memory from MGMT PKT pool */
@@ -750,7 +752,14 @@ static tSirRetStatus limSendTdlsDisRspFrame(tpAniSirGlobal pMac,
limLog( pMac, LOGW, FL("There were warnings while packing TDLS "
"Discovery Request (0x%08x)."), status );
}
-
+ if (0 != addIeLen)
+ {
+ LIM_LOG_TDLS(VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_ERROR,
+ ("Copy Additional Ie Len = %d"), addIeLen ));
+ vos_mem_copy(pFrame + sizeof(tSirMacMgmtHdr) + nPayload,
+ addIe,
+ addIeLen);
+ }
VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_INFO,
("transmitting Discovery response on direct link")) ;
@@ -2566,15 +2575,18 @@ tSirRetStatus limProcessSmeTdlsMgmtSendReq(tpAniSirGlobal pMac,
VOS_TRACE(VOS_MODULE_ID_PE, VOS_TRACE_LEVEL_INFO,
"Transmit Discovery Request Frame") ;
/* format TDLS discovery request frame and transmit it */
- limSendTdlsDisReqFrame(pMac, pSendMgmtReq->peerMac, pSendMgmtReq->dialog,
- psessionEntry) ;
+ limSendTdlsDisReqFrame(pMac, pSendMgmtReq->peerMac,
+ pSendMgmtReq->dialog,
+ psessionEntry) ;
resultCode = eSIR_SME_SUCCESS;
break;
case SIR_MAC_TDLS_DIS_RSP:
{
//Send a response mgmt action frame
limSendTdlsDisRspFrame(pMac, pSendMgmtReq->peerMac,
- pSendMgmtReq->dialog, psessionEntry) ;
+ pSendMgmtReq->dialog, psessionEntry,
+ &pSendMgmtReq->addIe[0],
+ (pSendMgmtReq->length - sizeof(tSirTdlsSendMgmtReq)));
resultCode = eSIR_SME_SUCCESS;
}
break;