Răsfoiți Sursa

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 ani în urmă
părinte
comite
a590a8a397
1 a modificat fișierele cu 9 adăugiri și 0 ștergeri
  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);