From a590a8a3978d5b64ec4b2069ccd5af252e25ffa3 Mon Sep 17 00:00:00 2001 From: Ganesh Kondabattini Date: Mon, 9 Jan 2017 15:26:38 +0530 Subject: [PATCH] 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 --- core/mac/src/pe/lim/lim_process_tdls.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c index 538e45d82531..b71b3d39bc9c 100644 --- a/core/mac/src/pe/lim/lim_process_tdls.c +++ b/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);