diff --git a/inc/wlan_policy_mgr_public_struct.h b/inc/wlan_policy_mgr_public_struct.h index d0793d372b5b..67c4af2c730a 100644 --- a/inc/wlan_policy_mgr_public_struct.h +++ b/inc/wlan_policy_mgr_public_struct.h @@ -815,6 +815,8 @@ enum policy_mgr_hw_mode_change { * for connection but keep dbs for scan but switch off the async scan * @ENABLE_DBS_CXN_AND_ENABLE_SCAN_WITH_ASYNC_SCAN_OFF: enable dbs support for * connection and scan but switch off the async scan + * @ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN: Enable DBS support for connection and + * disable DBS support for scan */ enum dbs_support { ENABLE_DBS_CXN_AND_SCAN, @@ -822,6 +824,7 @@ enum dbs_support { DISABLE_DBS_CXN_AND_ENABLE_DBS_SCAN, DISABLE_DBS_CXN_AND_ENABLE_DBS_SCAN_WITH_ASYNC_SCAN_OFF, ENABLE_DBS_CXN_AND_ENABLE_SCAN_WITH_ASYNC_SCAN_OFF, + ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN }; /** diff --git a/src/wlan_policy_mgr_get_set_utils.c b/src/wlan_policy_mgr_get_set_utils.c index 31c67cf2a150..6cc6e2f1077b 100644 --- a/src/wlan_policy_mgr_get_set_utils.c +++ b/src/wlan_policy_mgr_get_set_utils.c @@ -2683,11 +2683,13 @@ uint32_t policy_mgr_get_hw_dbs_nss(struct wlan_objmgr_psoc *psoc, bool policy_mgr_is_scan_simultaneous_capable(struct wlan_objmgr_psoc *psoc) { - if (DISABLE_DBS_CXN_AND_SCAN != - wlan_objmgr_psoc_get_dual_mac_disable(psoc)) - return true; + if ((DISABLE_DBS_CXN_AND_SCAN == + wlan_objmgr_psoc_get_dual_mac_disable(psoc)) || + (ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN == + wlan_objmgr_psoc_get_dual_mac_disable(psoc))) + return false; - return false; + return true; } void policy_mgr_set_cur_conc_system_pref(struct wlan_objmgr_psoc *psoc, @@ -2752,6 +2754,11 @@ QDF_STATUS policy_mgr_get_updated_scan_and_fw_mode_config( dual_mac_disable_ini); WMI_DBS_CONC_SCAN_CFG_ASYNC_DBS_SCAN_SET(*scan_config, 0); break; + case ENABLE_DBS_CXN_AND_DISABLE_DBS_SCAN: + policy_mgr_debug("%s: dual_mac_disable_ini:%d ", __func__, + dual_mac_disable_ini); + WMI_DBS_CONC_SCAN_CFG_DBS_SCAN_SET(*scan_config, 0); + break; default: break; }