diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 2665967992..c3c7b6730f 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -2790,12 +2790,12 @@ static int __wlan_hdd_cfg80211_do_acs(struct wiphy *wiphy, if (!QDF_IS_STATUS_SUCCESS(qdf_status)) hdd_err("get_external_acs_policy failed"); - if (is_external_acs_policy) { + if (is_external_acs_policy && conc_channel) { if ((conc_channel >= WLAN_REG_CH_NUM(CHAN_ENUM_36) && sap_config->acs_cfg.band == QCA_ACS_MODE_IEEE80211A) || (conc_channel <= WLAN_REG_CH_NUM(CHAN_ENUM_14) && (sap_config->acs_cfg.band == QCA_ACS_MODE_IEEE80211B || - sap_config->acs_cfg.band == QCA_ACS_MODE_IEEE80211A))) { + sap_config->acs_cfg.band == QCA_ACS_MODE_IEEE80211G))) { sap_config->acs_cfg.pri_ch = conc_channel; wlan_sap_set_sap_ctx_acs_cfg( WLAN_HDD_GET_SAP_CTX_PTR(adapter), sap_config); diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index ed9ad232fc..50a2b6199d 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -3226,6 +3226,7 @@ static QDF_STATUS sap_get_channel_list(struct sap_context *sap_ctx, uint8_t loop_count; uint8_t *list; uint8_t ch_count; + uint8_t dfs_master_enable; uint8_t start_ch_num, band_start_ch; uint8_t end_ch_num, band_end_ch; uint32_t en_lte_coex; @@ -3244,6 +3245,7 @@ static QDF_STATUS sap_get_channel_list(struct sap_context *sap_ctx, return QDF_STATUS_E_FAULT; } + dfs_master_enable = mac_ctx->mlme_cfg->dfs_cfg.dfs_master_capable; start_ch_num = sap_ctx->acs_cfg->start_ch; end_ch_num = sap_ctx->acs_cfg->end_ch; ch_width = sap_ctx->acs_cfg->ch_width; @@ -3320,8 +3322,9 @@ static QDF_STATUS sap_get_channel_list(struct sap_context *sap_ctx, */ if (wlan_reg_is_dfs_ch(mac_ctx->pdev, WLAN_REG_CH_NUM(loop_count)) && - policy_mgr_disallow_mcc(mac_ctx->psoc, - WLAN_REG_CH_NUM(loop_count))) + (policy_mgr_disallow_mcc(mac_ctx->psoc, + WLAN_REG_CH_NUM(loop_count)) || + !dfs_master_enable)) continue; /* Dont scan ETSI13 SRD channels if the ETSI13 SRD channels