From 9b0925f60bc5af34b697b5a533ca38f40b88be5b Mon Sep 17 00:00:00 2001 From: Bala Venkatesh Date: Wed, 15 May 2019 12:05:22 +0530 Subject: [PATCH] qcacld-3:0: Do not issue tdls del sta for bss peer Currently, TDLS connection can be attempted with any peer if the stats are more than configured threshold. If the connection is attempted with connected AP then add sta will be failed and TDLS disable link is given by upper layer to cleanup the add sta failure. TDLS component sends del sta request to lim. As peer type check was not present del sta request will be sent to firmware for connected BSS. In the resp path as there is a check for TDLS peer type, TDLS component was not notified of the resp and serialization cmd timeout will happen. Fix is to check the peer type for tdls peer del sta. Change-Id: Ibe59256d7f7ba75116e234481569863259f921be CRs-Fixed: 2453027 --- core/mac/src/pe/lim/lim_process_tdls.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/mac/src/pe/lim/lim_process_tdls.c b/core/mac/src/pe/lim/lim_process_tdls.c index 9623df21ad7d..3019dc008a73 100644 --- a/core/mac/src/pe/lim/lim_process_tdls.c +++ b/core/mac/src/pe/lim/lim_process_tdls.c @@ -2634,7 +2634,7 @@ static QDF_STATUS lim_tdls_del_sta(struct mac_context *mac, sta = dph_lookup_hash_entry(mac, peerMac.bytes, &peerIdx, &pe_session->dph.dphHashTable); - if (sta) { + if (sta && sta->staType == STA_ENTRY_TDLS_PEER) { pe_debug("DEL STA peer MAC: "QDF_MAC_ADDR_STR, QDF_MAC_ADDR_ARRAY(sta->staAddr)); @@ -2645,7 +2645,7 @@ static QDF_STATUS lim_tdls_del_sta(struct mac_context *mac, status = lim_del_sta(mac, sta, resp_reqd, pe_session); } else { - pe_debug("DEL STA peer MAC: "QDF_MAC_ADDR_STR" not found", + pe_debug("TDLS peer "QDF_MAC_ADDR_STR" not found", QDF_MAC_ADDR_ARRAY(peerMac.bytes)); }