From eb5898e905fc26aa0c570de7e2eb6870f9e2f841 Mon Sep 17 00:00:00 2001 From: Jianmin Zhu Date: Thu, 16 Jul 2020 11:53:22 +0800 Subject: [PATCH] qcacld-3.0: Fix data stall after sta roaming disabled and reconnection When reassociate, roaming is disabled by wpa_supplicant, but RSO stop reason REASON_SUPPLICANT_DISABLED_ROAMING is ignored and roam scan mode isn't cleared to 0 before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is cleared. Then host can't receive peer unmap/map event when wlan disconnect and reconnect, host dp peer id isn't updated, Rx frames are dropped for peer id mismatch. Fix: When roaming is disabled, make sure roam scan mode is cleared to 0 before vdev WMI_ROAM_FW_OFFLOAD_ENABLE_FLAG flag is cleared. Change-Id: Ia471998cf631948d8ffa701e67fcee22eebb0fa0 CRs-Fixed: 2734351 --- core/wma/src/wma_scan_roam.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 88dd7df30d99..07e9356c019e 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -2097,7 +2097,8 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle, if (roam_req->reason == REASON_ROAM_STOP_ALL || roam_req->reason == REASON_DISCONNECTED || - roam_req->reason == REASON_ROAM_SYNCH_FAILED) { + roam_req->reason == REASON_ROAM_SYNCH_FAILED || + roam_req->reason == REASON_SUPPLICANT_DISABLED_ROAMING) { mode = WMI_ROAM_SCAN_MODE_NONE; } else { if (csr_is_roam_offload_enabled(mac))