diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_action.c b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_action.c index 8990550e66b2..1d093b43823a 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_action.c +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_action.c @@ -591,9 +591,11 @@ static bool policy_mgr_is_restart_sap_allowed( { if ((mcc_to_scc_switch == QDF_MCC_TO_SCC_SWITCH_DISABLE) || !(policy_mgr_concurrent_open_sessions_running(psoc) && + ((policy_mgr_get_concurrency_mode(psoc) == + (QDF_STA_MASK | QDF_SAP_MASK)) || (policy_mgr_get_concurrency_mode(psoc) == - (QDF_STA_MASK | QDF_SAP_MASK)))) { - policy_mgr_err("MCC switch disabled or not concurrent STA/SAP"); + (QDF_STA_MASK | QDF_P2P_GO_MASK))))) { + policy_mgr_err("MCC switch disabled or not concurrent STA/SAP, STA/GO"); return false; } return true; @@ -631,10 +633,20 @@ void policy_mgr_check_sta_ap_concurrent_ch_intf(void *data) if (!policy_mgr_is_restart_sap_allowed(psoc, mcc_to_scc_switch)) return; - if (!policy_mgr_get_sap_conn_info(psoc, - &operating_channel, - &vdev_id)) { - policy_mgr_err("Could not retrieve SAP channel & vdev id"); + if (policy_mgr_get_mode_specific_conn_info(psoc, + &operating_channel, + &vdev_id, + PM_SAP_MODE)) { + policy_mgr_debug("SAP operating at channel:%d", + operating_channel); + } else if (policy_mgr_get_mode_specific_conn_info(psoc, + &operating_channel, + &vdev_id, + PM_P2P_GO_MODE)) { + policy_mgr_debug("GO operating at channel:%d", + operating_channel); + } else { + policy_mgr_err("Could not retrieve SAP/GO operating channel&vdevid"); return; } @@ -680,10 +692,20 @@ void policy_mgr_check_concurrent_intf_and_restart_sap( return; } - if (!policy_mgr_get_sap_conn_info(psoc, - &operating_channel, - &vdev_id)) { - policy_mgr_err("Could not retrieve SAP channel & vdev id"); + if (policy_mgr_get_mode_specific_conn_info(psoc, + &operating_channel, + &vdev_id, + PM_SAP_MODE)) { + policy_mgr_debug("SAP operating at channel:%d", + operating_channel); + } else if (policy_mgr_get_mode_specific_conn_info(psoc, + &operating_channel, + &vdev_id, + PM_P2P_GO_MODE)) { + policy_mgr_debug("GO operating at channel:%d", + operating_channel); + } else { + policy_mgr_err("Could not get SAP/GO operating channel&vdevid"); return; } diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c index 2bdebb638c54..f614a1c4e0b4 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c @@ -1443,15 +1443,6 @@ bool policy_mgr_get_mode_specific_conn_info(struct wlan_objmgr_psoc *psoc, return status; } -bool policy_mgr_get_sap_conn_info(struct wlan_objmgr_psoc *psoc, - uint8_t *channel, uint8_t *vdev_id) -{ - return policy_mgr_get_mode_specific_conn_info(psoc, - channel, - vdev_id, - PM_SAP_MODE); -} - bool policy_mgr_max_concurrent_connections_reached( struct wlan_objmgr_psoc *psoc) { diff --git a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h index 5100017bda57..7d3f4e4a03e6 100644 --- a/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h +++ b/umac/cmn_services/policy_mgr/src/wlan_policy_mgr_i.h @@ -385,20 +385,6 @@ enum policy_mgr_conc_next_action QDF_STATUS policy_mgr_reset_sap_mandatory_channels( struct policy_mgr_psoc_priv_obj *pm_ctx); -/** - * policy_mgr_get_sap_conn_info() - Get active SAP channel and - * vdev id - * @psoc: PSOC object information - * @channel: SAP channel - * @vdev_id: SAP vdev id - * - * Get active SAP channel and vdev id - * - * Return: true for success, else false - */ -bool policy_mgr_get_sap_conn_info(struct wlan_objmgr_psoc *psoc, - uint8_t *channel, uint8_t *vdev_id); - /** * policy_mgr_get_mode_specific_conn_info() - Get active mode specific * channel and vdev id