From acf04962a7732a41dba4eab6d26bf82b738e7a8f Mon Sep 17 00:00:00 2001 From: Wu Gao Date: Wed, 8 Jul 2020 01:59:42 +0800 Subject: [PATCH] qcacld-3.0: Don't reset connecting TDLS peer to idle state It resets connecting TDLS peer to idle state, and then won't send peer delete command to FW, which cause FW break down. So check link status and avoid to reset connecting TDLS peer to idle state. Change-Id: I8e8c883c6a517d516f496790350324a4257c9325 CRs-Fixed: 2726207 --- components/tdls/core/src/wlan_tdls_ct.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/components/tdls/core/src/wlan_tdls_ct.c b/components/tdls/core/src/wlan_tdls_ct.c index c620e635af..db88afc661 100644 --- a/components/tdls/core/src/wlan_tdls_ct.c +++ b/components/tdls/core/src/wlan_tdls_ct.c @@ -829,11 +829,14 @@ static void tdls_ct_process_cap_unknown(struct tdls_peer *curr_peer, tdls_vdev->curr_candidate = curr_peer; tdls_implicit_send_discovery_request(tdls_vdev); } else { - curr_peer->tdls_support = TDLS_CAP_NOT_SUPPORTED; - tdls_set_peer_link_status( - curr_peer, - TDLS_LINK_IDLE, - TDLS_LINK_NOT_SUPPORTED); + if (curr_peer->link_status != TDLS_LINK_CONNECTING) { + curr_peer->tdls_support = + TDLS_CAP_NOT_SUPPORTED; + tdls_set_peer_link_status( + curr_peer, + TDLS_LINK_IDLE, + TDLS_LINK_NOT_SUPPORTED); + } } } }