diff --git a/core/sme/src/common/sme_api.c b/core/sme/src/common/sme_api.c index 8e3b0b255589..7819f29806af 100644 --- a/core/sme/src/common/sme_api.c +++ b/core/sme/src/common/sme_api.c @@ -6401,8 +6401,9 @@ QDF_STATUS sme_stop_roaming(mac_handle_t mac_handle, uint8_t session_id, else csr_roam_reset_roam_params(mac_ctx); - /* Disable offload_11k_params for current vdev */ + /* Disable offload_11k_params and btm_offload_config for current vdev */ req->offload_11k_params.offload_11k_bitmask = 0; + req->btm_offload_config = 0; req->offload_11k_params.vdev_id = session_id; wma_msg.type = WMA_ROAM_SCAN_OFFLOAD_REQ; diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index f10428a04e9a..c6370a13e068 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -1782,10 +1782,15 @@ QDF_STATUS wma_process_roaming_config(tp_wma_handle wma_handle, WMA_LOGE("Sending start for roam scan filter failed"); break; } - qdf_status = wma_roam_scan_btm_offload(wma_handle, roam_req); - if (qdf_status != QDF_STATUS_SUCCESS) { - WMA_LOGE("Sending BTM config to fw failed"); - break; + + /* Send BTM config as disabled during RSO Stop */ + if (roam_req->reason == REASON_CTX_INIT) { + qdf_status = wma_roam_scan_btm_offload(wma_handle, + roam_req); + if (QDF_IS_STATUS_ERROR(qdf_status)) { + WMA_LOGE("Sending BTM config to fw failed"); + break; + } } /*