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
This commit is contained in:
Pragaspathi Thilagaraj 2020-08-10 21:51:37 +05:30 • committed by snandini
commit 39f2441cfa

View file

@ -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);