summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSelvaraj, Sridhar <sselvara@codeaurora.org>2016-09-14 17:13:22 +0530
committerqcabuildsw <qcabuildsw@localhost>2016-10-07 15:52:48 -0700
commite9199ab7c701cd5ebd1b6ca184a64242c67bb2c7 (patch)
tree978f7794f65fbfd888a3bed9573c8978ec00b855
parent5d95e631e3248e088f1034a7e53da1c0477c2bca (diff)
qcacld-3.0: Fix to send TDLS frames on peer sta index
qcacld-2.0 to qcacld-3.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/lim_process_tdls.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c
index 58a0addfb16e..1e87bd405276 100644
--- a/core/mac/src/pe/lim/lim_process_tdls.c
+++ b/core/mac/src/pe/lim/lim_process_tdls.c
@@ -520,14 +520,16 @@ tSirRetStatus lim_send_tdls_dis_req_frame(tpAniSirGlobal pMac,
MAC_ADDR_ARRAY(peer_mac.bytes));
pMac->lim.tdls_frm_session_id = psessionEntry->peSessionId;
- qdf_status = wma_tx_frameWithTxComplete(pMac, pPacket, (uint16_t) nBytes,
- TXRX_FRM_802_11_DATA,
- ANI_TXDIR_TODS,
- TID_AC_VI,
- lim_tx_complete, pFrame,
- lim_mgmt_tdls_tx_complete,
- HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME,
- smeSessionId, false, 0);
+ qdf_status = wma_tx_frameWithTxComplete(pMac, pPacket,
+ (uint16_t) nBytes,
+ TXRX_FRM_802_11_DATA,
+ ANI_TXDIR_TODS,
+ TID_AC_VI,
+ lim_tx_complete, pFrame,
+ lim_mgmt_tdls_tx_complete,
+ HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME |
+ HAL_USE_PEER_STA_REQUESTED_MASK,
+ smeSessionId, false, 0);
if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
pMac->lim.tdls_frm_session_id = NO_SESSION;
lim_log(pMac, LOGE,
@@ -935,7 +937,8 @@ wma_tx_frame_with_tx_complete_send(tpAniSirGlobal pMac, void *pPacket,
tid,
lim_tx_complete, 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, flag, 0);
}
#else
@@ -954,7 +957,8 @@ wma_tx_frame_with_tx_complete_send(tpAniSirGlobal pMac, void *pPacket,
tid,
lim_tx_complete, 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, 0);
}
#endif