diff options
| author | Atul Mittal <atulmt@qti.qualcomm.com> | 2014-09-19 19:04:09 +0530 |
|---|---|---|
| committer | AnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com> | 2014-09-25 17:32:50 +0530 |
| commit | d3507367ab3d62563e91e832f7447f1ef5bc40bc (patch) | |
| tree | 1e500d72bf28a9c5143e610bb69f34848a61cc47 | |
| parent | 50f0a4acd1ff9dfc416b79eca1e4be690af215db (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.c | 24 |
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; |
