diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 9092ce67aca6e..602997fdfba94 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19506,6 +19506,12 @@ 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) { + sme_debug("Session not in connected state, RSO not sent"); + 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) && (session_id != temp_session_id)) {