瀏覽代碼

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);