diff options
| author | Ganesh Kondabattini <ganeshk@codeaurora.org> | 2017-01-09 15:26:38 +0530 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2017-01-26 00:21:50 -0800 |
| commit | 4c445bf271e783b2b4278ea9d146c4be82cdcc68 (patch) | |
| tree | a7d94695f9523be7ef1285e515c87979e785d373 | |
| parent | 261f3fbc57cdbcf905f61a02d591239f4238a42e (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.c | 11 |
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); |
