qcacld-3.0: Add logic to force SCC in SAP+STA concurrency with ACS
If STA is up & SAP is comings up on a ACS derived channel causing MCC,
move SAP to the other band if DBS is supported. This logic is enabled
only if gWlanMccToSccSwitchMode is set to
QDF_MCC_TO_SCC_SWITCH_FORCE_WITHOUT_DISCONNECTION.
Change-Id: I48d809f83921292f51ca1735bff4c4d6dd339975
CRs-Fixed: 2063060
diff --git a/core/sap/src/sap_ch_select.c b/core/sap/src/sap_ch_select.c
index a24cb1d..e4529a3 100644
--- a/core/sap/src/sap_ch_select.c
+++ b/core/sap/src/sap_ch_select.c
@@ -2302,13 +2302,31 @@
if (best_ch_num == SAP_CHANNEL_NOT_SELECTED)
continue;
- if (operating_band != eCSR_DOT11_MODE_11g)
+ if (operating_band != eCSR_DOT11_MODE_11g) {
+ QDF_TRACE(QDF_MODULE_ID_SAP,
+ QDF_TRACE_LEVEL_INFO_HIGH,
+ "operating_band %d", operating_band);
continue;
+ }
/* Give preference to Non-overlap channels */
if (false == sap_filter_over_lap_ch(sap_ctx,
- spect_info->pSpectCh[count].chNum))
+ spect_info->pSpectCh[count].chNum)) {
+ QDF_TRACE(QDF_MODULE_ID_SAP,
+ QDF_TRACE_LEVEL_INFO_HIGH,
+ "sap_filter_over_lap_ch is false");
continue;
+ }
+
+ if (wlan_reg_is_dfs_ch(mac_ctx->pdev,
+ spect_info->pSpectCh[count].chNum) &&
+ policy_mgr_disallow_mcc(mac_ctx->psoc,
+ spect_info->pSpectCh[count].chNum)) {
+ QDF_TRACE(QDF_MODULE_ID_SAP,
+ QDF_TRACE_LEVEL_INFO_HIGH,
+ "No DFS MCC");
+ continue;
+ }
if (spect_info->pSpectCh[count].weight_copy >
sap_ctx->acsBestChannelInfo.weight)