From 39f2441cfabe50068fa7b50ff16db87d0deb4623 Mon Sep 17 00:00:00 2001 From: Pragaspathi Thilagaraj Date: Mon, 10 Aug 2020 21:51:37 +0530 Subject: [PATCH] qcacld-3.0: Reset hdd_reassoc_scenario flag on disconnection After successful roam synch indication received in 802.1x/WPA3 security roaming, the peer will not be in authorized state since EAP/EAPOL handshake is handled at the supplicant. Simultaneously there is continuous vdev pause/unpause events from firmware, so EAP handshake fails and EAP timeout kicks-in at supplicant and disconnect is triggered. But on new connection the hdd_reassoc_scenario flag is not reset, so __wlan_hdd_cfg80211_ll_stats_get always returns failure and the framework displays low rssi even though the connected AP rssi is good. Reset the hdd_reassoc_scenario flag after any disconnection. Change-Id: I7b00fef86fa37d6e7ab857be1750add142f7e647 CRs-Fixed: 2752022 --- core/hdd/src/wlan_hdd_assoc.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c index aa1018afceaf..cc7b2355a1aa 100644 --- a/core/hdd/src/wlan_hdd_assoc.c +++ b/core/hdd/src/wlan_hdd_assoc.c @@ -1988,6 +1988,14 @@ static QDF_STATUS hdd_dis_connect_handler(struct hdd_adapter *adapter, policy_mgr_check_concurrent_intf_and_restart_sap(hdd_ctx->psoc); adapter->hdd_stats.tx_rx_stats.cont_txtimeout_cnt = 0; + /* + * Reset hdd_reassoc_scenario to false here. After roaming in + * 802.1x or WPA3 security, EAPOL is handled at supplicant and + * the hdd_reassoc_scenario flag will not be reset if disconnection + * happens before EAP/EAPOL at supplicant is complete. + */ + sta_ctx->hdd_reassoc_scenario = false; + /* Unblock anyone waiting for disconnect to complete */ complete(&adapter->disconnect_comp_var);