qcacld-3.0: Send ROAM_STOP if roam synch failed

Send a ROAM_STOP command to firmware with an explicit
reason code for the failure so that it is not blocked
in WMA before sending it to firmware.

Change-Id: I4d7e2e525c145ca0e990dcef85948285e2186c63
CRs-Fixed: 2182671
This commit is contained in:
Varun Reddy Yeturu 2018-02-01 18:12:34 -08:00 • committed by snandini
commit bc1bea0956
3 changed files with 5 additions and 3 deletions

View file

@ -332,6 +332,7 @@ void csr_roam_reset_roam_params(tpAniSirGlobal mac_ptr);
#define REASON_SUPPLICANT_DISABLED_ROAMING 39
#define REASON_CTX_INIT 40
#define REASON_FILS_PARAMS_CHANGED 41
#define REASON_SME_ISSUED 42
#if defined(WLAN_FEATURE_HOST_ROAM) || defined(WLAN_FEATURE_ROAM_OFFLOAD)
QDF_STATUS csr_roam_offload_scan(tpAniSirGlobal pMac, uint8_t sessionId,

View file

@ -7351,7 +7351,7 @@ QDF_STATUS sme_stop_roaming(tHalHandle hal, uint8_t session_id, uint8_t reason)
if (reason == eCsrForcedDisassoc)
req->reason = REASON_ROAM_STOP_ALL;
else
req->reason = REASON_ROAM_SYNCH_FAILED;
req->reason = REASON_SME_ISSUED;
req->sessionId = session_id;
if (csr_neighbor_middle_of_roaming(mac_ctx, session_id))
req->middle_of_roaming = 1;

View file

@ -1576,7 +1576,8 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle,
wma_roam_scan_fill_scan_params(wma_handle, pMac,
NULL, &scan_params);
if (roam_req->reason == REASON_ROAM_STOP_ALL)
if (roam_req->reason == REASON_ROAM_STOP_ALL ||
roam_req->reason == REASON_ROAM_SYNCH_FAILED)
mode = WMI_ROAM_SCAN_MODE_NONE;
else
mode = WMI_ROAM_SCAN_MODE_NONE |
@ -2382,7 +2383,7 @@ cleanup_label:
roam_req = qdf_mem_malloc(sizeof(tSirRoamOffloadScanReq));
if (roam_req && synch_event) {
roam_req->Command = ROAM_SCAN_OFFLOAD_STOP;
roam_req->reason = REASON_ROAM_STOP_ALL;
roam_req->reason = REASON_ROAM_SYNCH_FAILED;
roam_req->sessionId = synch_event->vdev_id;
wma_process_roaming_config(wma, roam_req);
}