qcacld-3.0: Clear roam invoke progress in connect/disconnect

Clear roam invoke in progress flag in connect start and disconnect
events.

Change-Id: I49d64671f74b86c516d286c4b2aad69eda744b52
CRs-Fixed: 2715093
This commit is contained in:
Kiran Kumar Lokere 2020-06-20 00:45:28 -07:00 • committed by snandini
commit 14807ac807

View file

@ -8308,6 +8308,7 @@ QDF_STATUS csr_roam_connect(struct mac_context *mac, uint32_t sessionId,
csr_roam_cancel_roaming(mac, sessionId);
csr_scan_abort_mac_scan(mac, sessionId, INVAL_SCAN_ID);
csr_roam_remove_duplicate_command(mac, sessionId, NULL, eCsrHddIssued);
/* Check whether ssid changes */
if (csr_is_conn_state_connected(mac, sessionId) &&
pProfile->SSIDs.numOfSSIDs &&
@ -18485,6 +18486,17 @@ csr_roam_switch_to_init(struct mac_context *mac, uint8_t vdev_id,
uint32_t roaming_bitmap;
bool dual_sta_roam_active;
QDF_STATUS status;
struct wlan_objmgr_vdev *vdev;
struct mlme_roam_after_data_stall *vdev_roam_params;
vdev = wlan_objmgr_get_vdev_by_id_from_psoc(mac->psoc, vdev_id,
WLAN_LEGACY_SME_ID);
if (vdev) {
vdev_roam_params = mlme_get_roam_invoke_params(vdev);
wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_SME_ID);
if (vdev_roam_params)
vdev_roam_params->roam_invoke_in_progress = false;
}
dual_sta_roam_active =
wlan_mlme_get_dual_sta_roaming_enabled(mac->psoc);
@ -18710,8 +18722,20 @@ csr_roam_switch_to_deinit(struct mac_context *mac, uint8_t vdev_id,
uint8_t reason)
{
QDF_STATUS status;
struct wlan_objmgr_vdev *vdev;
struct mlme_roam_after_data_stall *vdev_roam_params;
enum roam_offload_state cur_state = mlme_get_roam_state(mac->psoc,
vdev_id);
vdev = wlan_objmgr_get_vdev_by_id_from_psoc(mac->psoc, vdev_id,
WLAN_LEGACY_SME_ID);
if (vdev) {
vdev_roam_params = mlme_get_roam_invoke_params(vdev);
wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_SME_ID);
if (vdev_roam_params)
vdev_roam_params->roam_invoke_in_progress = false;
}
switch (cur_state) {
/*
* If RSO stop is not done already, send RSO stop first and