summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhinav Kumar <abhikuma@codeaurora.org>2019-03-18 19:04:41 +0530
committernshrivas <nshrivas@codeaurora.org>2019-03-19 02:36:56 -0700
commitfbcff74a191a580ea93dec18352b4cadbd6a2764 (patch)
tree3f7c71c4e3db432e331a7c9493fd10e9c8cb43f9
parent7495e01cc356dd8071f6ecfb2eceb75fe1a925ee (diff)
qcacld-3.0: Fix false alarm scan reject issue
Currently, the scan is rejected if roaming in progress on STA or if a client of SAP is in the middle of WPS/EAPOL exchange. And it uses last_scan_reject_timestamp and reset scan_reject_cnt to avoid scan stuck issue. last_scan_reject_timestamp and scan_reject_cnt reset when the next scan issues successfully. If: 1\ Scan happens and roaming is in progress on STA or client of SAP is in the middle of the WPS/EAPOL exchange. Initialized last_scan_reject_timestamp and reset scan_reject_cnt; 2\ Maybe no scan happens for a long time; 3\ scan happens but unfortunately, a connection is in progress again. Then false alarm may happen because the time has already expired and scan_reject_cnt >= 15. Reset scan reject params after successful set key and successful roam. Change-Id: I1197e66483e3bc8da38d6bcbc8b8c32b193ef6c9 CRs-Fixed: 2418658
-rw-r--r--core/hdd/src/wlan_hdd_assoc.c3
-rw-r--r--core/hdd/src/wlan_hdd_main.c5
2 files changed, 8 insertions, 0 deletions
diff --git a/core/hdd/src/wlan_hdd_assoc.c b/core/hdd/src/wlan_hdd_assoc.c
index 17cf8f229c43..d233499316a0 100644
--- a/core/hdd/src/wlan_hdd_assoc.c
+++ b/core/hdd/src/wlan_hdd_assoc.c
@@ -1947,6 +1947,9 @@ QDF_STATUS hdd_change_peer_state(hdd_adapter_t *pAdapter,
#endif
if (sta_state == OL_TXRX_PEER_STATE_AUTH) {
+ /* Reset scan reject params on successful set key */
+ hdd_debug("Reset scan reject params");
+ hdd_init_scan_reject_params(pAdapter->pHddCtx);
#ifdef QCA_LL_LEGACY_TX_FLOW_CONTROL
/* make sure event is reset */
INIT_COMPLETION(pAdapter->sta_authorized_event);
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 3dc1d087275c..7ecd3b707de9 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -13365,6 +13365,11 @@ void hdd_set_roaming_in_progress(bool value)
hdd_ctx->roaming_in_progress = value;
hdd_debug("Roaming in Progress set to %d", value);
+ if (!hdd_ctx->roaming_in_progress) {
+ /* Reset scan reject params on successful roam complete */
+ hdd_debug("Reset scan reject params");
+ hdd_init_scan_reject_params(hdd_ctx);
+ }
}
/**