|
@@ -2999,6 +2999,11 @@ wlan_hdd_update_dbs_scan_and_fw_mode_config(void)
|
|
|
if (!policy_mgr_find_if_fw_supports_dbs(hdd_ctx->psoc))
|
|
|
return QDF_STATUS_SUCCESS;
|
|
|
|
|
|
+ if (hdd_ctx->is_dual_mac_cfg_updated) {
|
|
|
+ hdd_debug("dual mac config has already been updated, skip");
|
|
|
+ return QDF_STATUS_SUCCESS;
|
|
|
+ }
|
|
|
+
|
|
|
cfg.scan_config = 0;
|
|
|
cfg.fw_mode_config = 0;
|
|
|
cfg.set_dual_mac_cb = policy_mgr_soc_set_dual_mac_cfg_cb;
|
|
@@ -3045,6 +3050,8 @@ wlan_hdd_update_dbs_scan_and_fw_mode_config(void)
|
|
|
/* wait for sme_soc_set_dual_mac_config to complete */
|
|
|
status =
|
|
|
policy_mgr_wait_for_dual_mac_configuration(hdd_ctx->psoc);
|
|
|
+ if (QDF_IS_STATUS_SUCCESS(status))
|
|
|
+ hdd_ctx->is_dual_mac_cfg_updated = true;
|
|
|
} else {
|
|
|
hdd_err("sme_soc_set_dual_mac_config failed %d", status);
|
|
|
return status;
|
|
@@ -14402,6 +14409,7 @@ int hdd_wlan_stop_modules(struct hdd_context *hdd_ctx, bool ftm_mode)
|
|
|
|
|
|
/* Once the firmware sequence is completed reset this flag */
|
|
|
hdd_ctx->imps_enabled = false;
|
|
|
+ hdd_ctx->is_dual_mac_cfg_updated = false;
|
|
|
hdd_ctx->driver_status = DRIVER_MODULES_CLOSED;
|
|
|
hdd_debug("Wlan transitioned (now CLOSED)");
|
|
|
|