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
This commit is contained in:
Jianmin Zhu 2020-07-16 11:53:22 +08:00 • committed by snandini
commit eb5898e905

View file

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