From 76659b0055a48ea1ef3ff4212ac4a8fd10115056 Mon Sep 17 00:00:00 2001 From: Liangwei Dong Date: Thu, 28 Dec 2017 00:34:42 -0500 Subject: [PATCH] qcacmn: Disallow Dualband MCC For non DBS capable chip, to disallow dualband MCC in case dnbs vdev exist. Change-Id: Iee96e12dbb09e2d4633ca2fb73b5fb8bf155bd66 CRs-Fixed: 2164835 --- src/wlan_policy_mgr_get_set_utils.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/wlan_policy_mgr_get_set_utils.c b/src/wlan_policy_mgr_get_set_utils.c index 33483e045839..41a9a8025028 100644 --- a/src/wlan_policy_mgr_get_set_utils.c +++ b/src/wlan_policy_mgr_get_set_utils.c @@ -2561,8 +2561,10 @@ QDF_STATUS policy_mgr_is_chan_ok_for_dnbs(struct wlan_objmgr_psoc *psoc, * return true. * If channel is different from operating channel but in same band. * return false. - * If operating channel in different band. + * If operating channel in different band (DBS capable). * return true. + * If operating channel in different band (not DBS capable). + * return false. */ /* TODO: To be enhanced for SBS */ if (policy_mgr_is_dnsc_set(vdev)) { @@ -2577,12 +2579,24 @@ QDF_STATUS policy_mgr_is_chan_ok_for_dnbs(struct wlan_objmgr_psoc *psoc, wlan_objmgr_vdev_release_ref(vdev, WLAN_POLICY_MGR_ID); break; + } else if (policy_mgr_is_hw_dbs_capable(psoc)) { + *ok = true; + wlan_objmgr_vdev_release_ref(vdev, + WLAN_POLICY_MGR_ID); + break; + } else { + *ok = false; + wlan_objmgr_vdev_release_ref(vdev, + WLAN_POLICY_MGR_ID); + break; } } else { *ok = true; } wlan_objmgr_vdev_release_ref(vdev, WLAN_POLICY_MGR_ID); } + policy_mgr_debug("chan: %d ok %d", channel, *ok); + return QDF_STATUS_SUCCESS; }