소스 검색

qcacld-3.0: Delete tdls peer while deleting STA session

PE is sending the deauth frames to all the connected tdls peers
while processing the deauth frame on STA interface from AP. But it
is not deleting the TDLS peer.

This change is to delete the tdls peer after sending the deauth frame
to tdls peer.

CRs-Fixed: 1108945
Change-Id: I0e115bf005e7d3bb3102f170f0d614160b9a0e38
Ganesh Kondabattini 8 년 전
부모
커밋
a590a8a397
1개의 변경된 파일9개의 추가작업 그리고 0개의 파일을 삭제
  1. 9 0
      core/mac/src/pe/lim/lim_process_tdls.c

+ 9 - 0
core/mac/src/pe/lim/lim_process_tdls.c

@@ -3392,6 +3392,7 @@ tSirRetStatus lim_delete_tdls_peers(tpAniSirGlobal mac_ctx,
 	tpDphHashNode stads = NULL;
 	int i, aid;
 	size_t aid_bitmap_size = sizeof(session_entry->peerAIDBitmap);
+	struct qdf_mac_addr mac_addr;
 
 	if (NULL == session_entry) {
 		lim_log(mac_ctx, LOGE, FL("NULL session_entry"));
@@ -3420,6 +3421,14 @@ tSirRetStatus lim_delete_tdls_peers(tpAniSirGlobal mac_ctx,
 				lim_send_deauth_mgmt_frame(mac_ctx,
 					eSIR_MAC_DEAUTH_LEAVING_BSS_REASON,
 					stads->staAddr, session_entry, false);
+
+				/* Delete TDLS peer */
+				qdf_mem_copy(mac_addr.bytes, stads->staAddr,
+						QDF_MAC_ADDR_SIZE);
+
+				lim_tdls_del_sta(mac_ctx, mac_addr,
+						session_entry);
+
 				dph_delete_hash_entry(mac_ctx,
 					stads->staAddr, stads->assocId,
 					&session_entry->dph.dphHashTable);