Bläddra i källkod

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
Selvaraj, Sridhar 8 år sedan
förälder
incheckning
e9199ab7c7
1 ändrade filer med 14 tillägg och 10 borttagningar
  1. 14 10
      core/mac/src/pe/lim/lim_process_tdls.c

+ 14 - 10
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