diff --git a/hif/src/hif_runtime_pm.c b/hif/src/hif_runtime_pm.c index 1a65a6e9a469..2172b585579b 100644 --- a/hif/src/hif_runtime_pm.c +++ b/hif/src/hif_runtime_pm.c @@ -1636,7 +1636,7 @@ void hif_runtime_lock_deinit(struct hif_opaque_softc *hif_ctx, struct hif_pm_runtime_lock *data) { struct hif_softc *scn = HIF_GET_SOFTC(hif_ctx); - struct hif_runtime_pm_ctx *rpm_ctx = hif_bus_get_rpm_ctx(scn); + struct hif_runtime_pm_ctx *rpm_ctx; struct hif_pm_runtime_lock *context = data; if (!context) { @@ -1651,6 +1651,7 @@ void hif_runtime_lock_deinit(struct hif_opaque_softc *hif_ctx, * before freeing the context if context is active. */ if (scn) { + rpm_ctx = hif_bus_get_rpm_ctx(scn); spin_lock_bh(&rpm_ctx->runtime_lock); __hif_pm_runtime_allow_suspend(scn, context); spin_unlock_bh(&rpm_ctx->runtime_lock); diff --git a/umac/scan/core/src/wlan_scan_manager.c b/umac/scan/core/src/wlan_scan_manager.c index 7620c279b879..74bf6bdea027 100644 --- a/umac/scan/core/src/wlan_scan_manager.c +++ b/umac/scan/core/src/wlan_scan_manager.c @@ -650,6 +650,10 @@ static void scm_req_update_concurrency_params(struct wlan_objmgr_vdev *vdev, req->scan_req.min_rest_time = req->scan_req.max_rest_time; } + if (policy_mgr_current_concurrency_is_mcc(psoc)) + req->scan_req.min_rest_time = + scan_obj->scan_def.conc_max_rest_time; + /* * If scan req for SAP (ACS Sacn) use dwell_time_active_def as dwell * time for 2g channels instead of dwell_time_active_2g @@ -709,8 +713,13 @@ static void scm_req_update_concurrency_params(struct wlan_objmgr_vdev *vdev, break; } - if (ndi_present || - ((go_present || p2p_cli_present) && sta_active)) { + if (go_present && sta_active) { + req->scan_req.burst_duration = + req->scan_req.dwell_time_active; + break; + } + + if (ndi_present || (p2p_cli_present && sta_active)) { req->scan_req.burst_duration = 0; break; }