summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelvaraj, Sridhar <sselvara@codeaurora.org>2016-08-26 20:30:35 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-08-31 13:26:25 +0530
commit70660761843d80b0b39b9d8d858829cbb66bc56c (patch)
treed7bcf37e25be708887cb882117bb1033f796c5e6
parent212b04f69372dc4c7c722c0d65742de5dd63d1e5 (diff)
qcacld-2.0: Fix to send TDLS frames on peer sta index
prima to qcacld-2.0 propagation Currently, After p2p disconnection system role changes to unknown and due to which tx flag uses self station index which would send TDLS frames on self station index thus leading to TDLS connection failure after p2p session teardown. Fix is to use peer station index in tx flag while sending TDLS frames except TDLS discovery response which should go on self station index. Change-Id: I87ea8806a47730b553055e47bb3e7bdf0266b48f CRs-Fixed: 970761
-rw-r--r--CORE/MAC/src/pe/lim/limProcessTdls.c27
1 files changed, 18 insertions, 9 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessTdls.c b/CORE/MAC/src/pe/lim/limProcessTdls.c
index 1df76cfccd64..a64095ce40cb 100644
--- a/CORE/MAC/src/pe/lim/limProcessTdls.c
+++ b/CORE/MAC/src/pe/lim/limProcessTdls.c
@@ -548,7 +548,8 @@ tSirRetStatus limSendTdlsDisReqFrame(tpAniSirGlobal pMac, tSirMacAddr peer_mac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId, false );
if ( ! HAL_STATUS_SUCCESS ( halstatus ) )
{
@@ -1180,7 +1181,8 @@ tSirRetStatus limSendTdlsLinkSetupReqFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId, true );
#else
halstatus = halTxFrameWithTxComplete( pMac, pPacket, ( tANI_U16 ) nBytes,
@@ -1189,7 +1191,8 @@ tSirRetStatus limSendTdlsLinkSetupReqFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId, false );
#endif
if ( ! HAL_STATUS_SUCCESS ( halstatus ) )
@@ -1389,7 +1392,8 @@ tSirRetStatus limSendTdlsTeardownFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId,
(reason == eSIR_MAC_TDLS_TEARDOWN_PEER_UNREACHABLE) ? true : false );
#else
@@ -1399,7 +1403,8 @@ tSirRetStatus limSendTdlsTeardownFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId,
false );
#endif
@@ -1668,7 +1673,8 @@ static tSirRetStatus limSendTdlsSetupRspFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId, true );
#else
halstatus = halTxFrameWithTxComplete( pMac, pPacket, ( tANI_U16 ) nBytes,
@@ -1677,7 +1683,8 @@ static tSirRetStatus limSendTdlsSetupRspFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId, false );
#endif
if ( ! HAL_STATUS_SUCCESS ( halstatus ) )
@@ -1899,7 +1906,8 @@ tSirRetStatus limSendTdlsLinkSetupCnfFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId, true );
#else
halstatus = halTxFrameWithTxComplete( pMac, pPacket, ( tANI_U16 ) nBytes,
@@ -1908,7 +1916,8 @@ tSirRetStatus limSendTdlsLinkSetupCnfFrame(tpAniSirGlobal pMac,
TID_AC_VI,
limTxComplete, pFrame,
lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
smeSessionId, false );
#endif