summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGanesh Kondabattini <ganeshk@codeaurora.org>2017-01-09 15:26:38 +0530
committerqcabuildsw <qcabuildsw@localhost>2017-01-26 00:21:50 -0800
commit4c445bf271e783b2b4278ea9d146c4be82cdcc68 (patch)
treea7d94695f9523be7ef1285e515c87979e785d373
parent261f3fbc57cdbcf905f61a02d591239f4238a42e (diff)
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
-rw-r--r--core/mac/src/pe/lim/lim_process_tdls.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c
index beae6d6a0062..9b633a07a810 100644
--- a/core/mac/src/pe/lim/lim_process_tdls.c
+++ b/core/mac/src/pe/lim/lim_process_tdls.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2016 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2017 The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -3374,6 +3374,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"));
@@ -3402,6 +3403,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);