qcacld-3.0: Restore default RSO configs in driver only on disconnect

Restore default RSO configs in host driver on disconnect, as vdev state
in the firmware is VDEV_STOP no need to update default RSO configs
in firmware.

Change-Id: I061dbfcc5e3fb5350a7fe240d8b1405e1548d7d5
CRs-fixed: 2627107
This commit is contained in:
Abhishek Ambure 2020-02-26 14:47:36 +05:30 committed by nshrivas
parent 6742cc69fa
commit da80602fa6
2 changed files with 19 additions and 10 deletions

View File

@ -19363,9 +19363,15 @@ csr_roam_offload_scan(struct mac_context *mac_ctx, uint8_t session_id,
return QDF_STATUS_E_FAILURE;
}
if (!csr_is_conn_state_connected(mac_ctx, session_id) &&
command == ROAM_SCAN_OFFLOAD_UPDATE_CFG)
if (roam_info->neighborRoamState !=
eCSR_NEIGHBOR_ROAM_STATE_CONNECTED &&
(command == ROAM_SCAN_OFFLOAD_UPDATE_CFG ||
command == ROAM_SCAN_OFFLOAD_START ||
command == ROAM_SCAN_OFFLOAD_RESTART)) {
sme_debug("Session not in connected state, RSO not sent and state=%d ",
roam_info->neighborRoamState);
return QDF_STATUS_E_FAILURE;
}
temp_session_id = csr_get_roam_enabled_sta_sessionid(mac_ctx);
if ((temp_session_id != WLAN_UMAC_VDEV_ID_MAX) &&

View File

@ -674,14 +674,7 @@ QDF_STATUS csr_neighbor_roam_indicate_disconnect(struct mac_context *mac,
*/
csr_roam_free_connect_profile(pPrevProfile);
csr_roam_copy_connect_profile(mac, sessionId, pPrevProfile);
/*
* clear the roaming parameters that are per connection.
* For a new connection, they have to be programmed again.
*/
if (!csr_neighbor_middle_of_roaming(mac, sessionId)) {
csr_roam_reset_roam_params(mac);
csr_roam_restore_default_config(mac, sessionId);
}
if (pSession) {
roam_session = &mac->roam.roamSession[sessionId];
if (pSession->pCurRoamProfile && (QDF_STA_MODE !=
@ -768,6 +761,16 @@ QDF_STATUS csr_neighbor_roam_indicate_disconnect(struct mac_context *mac,
pNeighborRoamInfo->uOsRequestedHandoff = 0;
break;
}
/*
* clear the roaming parameters that are per connection.
* For a new connection, they have to be programmed again.
*/
if (!csr_neighbor_middle_of_roaming(mac, sessionId)) {
csr_roam_reset_roam_params(mac);
csr_roam_restore_default_config(mac, sessionId);
}
/*Inform the Firmware to STOP Scanning as the host has a disconnect. */
if (csr_roam_is_sta_mode(mac, sessionId))
csr_post_roam_state_change(mac, sessionId, ROAM_DEINIT,