Bladeren bron

qcacmn: Disallow Dualband MCC

For non DBS capable chip, to disallow dualband MCC
in case dnbs vdev exist.

Change-Id: Iee96e12dbb09e2d4633ca2fb73b5fb8bf155bd66
CRs-Fixed: 2164835
Liangwei Dong 7 jaren geleden
bovenliggende
commit
409c4cf989
1 gewijzigde bestanden met toevoegingen van 15 en 1 verwijderingen
  1. 15 1
      umac/cmn_services/policy_mgr/src/wlan_policy_mgr_get_set_utils.c

+ 15 - 1
umac/cmn_services/policy_mgr/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;
 }