Browse Source

qcacld-3.0: Refine 5GHz/6GHz channel frequency checking

With the introduction of 6GHz channels, some of the channel
frequency checking code have to be refined to make sure
all non-2.4GHz channel frequencies are identified by
!WLAN_REG_IS_24GHZ_CH_FREQ().

Change the channel frequency identifying code within the
following functions according to the above guideline:

  wlan_hdd_cfg80211_start_acs()
  hdd_cfg80211_update_acs_config()
  hdd_get_sap_operating_band()
  hdd_update_acs_sap_config()
  wlan_hdd_sap_p2p_11ac_overrides()
  wlan_hdd_cfg80211_start_bss()
  wma_send_pdev_set_pcl_cmd()

Change-Id: I6dfb8b4e43a7f632255fb89552490ce404874998
CRs-Fixed: 2648176
wadesong 5 years ago
parent
commit
24e614d24a
3 changed files with 8 additions and 7 deletions
  1. 5 4
      core/hdd/src/wlan_hdd_cfg80211.c
  2. 2 2
      core/hdd/src/wlan_hdd_hostapd.c
  3. 1 1
      core/wma/src/wma_main.c

+ 5 - 4
core/hdd/src/wlan_hdd_cfg80211.c

@@ -2048,7 +2048,7 @@ int wlan_hdd_cfg80211_start_acs(struct hdd_adapter *adapter)
 		conc_connection_info = policy_mgr_get_conn_info(&i);
 		if (conc_connection_info[0].mac ==
 			conc_connection_info[1].mac) {
-			if (WLAN_REG_IS_5GHZ_CH_FREQ(
+			if (!WLAN_REG_IS_24GHZ_CH_FREQ(
 				sap_config->acs_cfg.pcl_chan_freq[0])) {
 				sap_config->acs_cfg.band =
 					QCA_ACS_MODE_IEEE80211A;
@@ -2579,7 +2579,7 @@ int hdd_cfg80211_update_acs_config(struct hdd_adapter *adapter,
 		if (conc_connection_info[0].mac ==
 			conc_connection_info[1].mac) {
 
-			if (WLAN_REG_IS_5GHZ_CH_FREQ(
+			if (!WLAN_REG_IS_24GHZ_CH_FREQ(
 				sap_config->acs_cfg.pcl_chan_freq[0])) {
 				sap_config->acs_cfg.band =
 					QCA_ACS_MODE_IEEE80211A;
@@ -10756,7 +10756,8 @@ uint8_t hdd_get_sap_operating_band(struct hdd_context *hdd_ctx)
 		operating_chan_freq = adapter->session.ap.operating_chan_freq;
 		if (WLAN_REG_IS_24GHZ_CH_FREQ(operating_chan_freq))
 			sap_operating_band = BAND_2G;
-		else if (WLAN_REG_IS_5GHZ_CH_FREQ(operating_chan_freq))
+		else if (WLAN_REG_IS_5GHZ_CH_FREQ(operating_chan_freq) ||
+			 WLAN_REG_IS_6GHZ_CHAN_FREQ(operating_chan_freq))
 			sap_operating_band = BAND_5G;
 		else
 			sap_operating_band = BAND_ALL;
@@ -11520,7 +11521,7 @@ static void hdd_update_acs_sap_config(struct hdd_context *hdd_ctx,
 				      channel_list->ht_sec_chan_freq);
 
 	sap_config->ch_params.ch_width = channel_list->chan_width;
-	if (WLAN_REG_IS_5GHZ_CH_FREQ(sap_config->chan_freq)) {
+	if (!WLAN_REG_IS_24GHZ_CH_FREQ(sap_config->chan_freq)) {
 		status =
 			ucfg_mlme_get_vht_channel_width(hdd_ctx->psoc,
 							&ch_width);

+ 2 - 2
core/hdd/src/wlan_hdd_hostapd.c

@@ -4650,7 +4650,7 @@ static int wlan_hdd_sap_p2p_11ac_overrides(struct hdd_adapter *ap_adapter)
 		if (sap_cfg->SapHw_mode == eCSR_DOT11_MODE_11n)
 			sap_cfg->SapHw_mode = eCSR_DOT11_MODE_11ac;
 
-		if (WLAN_REG_IS_5GHZ_CH_FREQ(sap_cfg->chan_freq)) {
+		if (!WLAN_REG_IS_24GHZ_CH_FREQ(sap_cfg->chan_freq)) {
 			status =
 			    ucfg_mlme_get_vht_channel_width(hdd_ctx->psoc,
 							    &ch_width);
@@ -5256,7 +5256,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
 		 */
 		ret = 0;
 		if (!policy_mgr_is_hw_dbs_capable(hdd_ctx->psoc) ||
-		    WLAN_REG_IS_5GHZ_CH_FREQ(config->chan_freq)) {
+		    !WLAN_REG_IS_24GHZ_CH_FREQ(config->chan_freq)) {
 			ret = wlan_hdd_sap_cfg_dfs_override(adapter);
 			if (ret < 0)
 				goto error;

+ 1 - 1
core/wma/src/wma_main.c

@@ -9101,7 +9101,7 @@ QDF_STATUS wma_send_pdev_set_pcl_cmd(tp_wma_handle wma_handle,
 				WEIGHT_OF_DISALLOWED_CHANNELS;
 		}
 		if (msg->band_mask == BIT(REG_BAND_2G) &&
-		    WLAN_REG_IS_5GHZ_CH_FREQ(
+		    !WLAN_REG_IS_24GHZ_CH_FREQ(
 		    msg->chan_weights.saved_chan_list[i]))
 			msg->chan_weights.weighed_valid_list[i] =
 				WEIGHT_OF_DISALLOWED_CHANNELS;