All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] wifi: ath11k: fix QCN6122 UNII-3 channels 149-165 disabled
@ 2026-08-15 15:07 autumnshiu
  0 siblings, 0 replies; 3+ messages in thread
From: autumnshiu @ 2026-08-15 15:07 UTC (permalink / raw)
  To: linux-wireless; +Cc: kvalo, ath11k

The QCN6122 firmware reports high_5ghz_chan without the UNII-3 band
(5725-5850 MHz, channels 149-165). ath11k_mac_setup_channels_rates()
passes this value to ath11k_mac_update_ch_list(), which marks every
channel above high_5ghz_chan as IEEE80211_CHAN_DISABLED.

As a result channels 149-165 (including 5745 MHz, channel 149) are
disabled on QCN6122 even though the board-2.bin BDF contains the
UNII-3 frequencies and the regulatory domain covers them. This also
truncates the wpa_supplicant freq_list, so a 5 GHz STA can never
scan or associate on those channels.

Clamp high_5ghz_chan to the standard 5.8 GHz upper bound (5825 MHz,
channel 165) for QCN6122, matching what the hardware and BDF
actually support.

Tested on a CMCC PZ-L8 (IPQ5018 + QCN6122) with the 5 GHz radio as
STA and AP on channel 149/HE80.

Patch authored by V4Pro (DeepSeek Harness), tested and submitted by
autumnshiu.

Signed-off-by: autumnshiu <autumnshiu@foxmail.com>
---
 drivers/net/wireless/ath/ath11k/mac.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -10172,6 +10172,15 @@ static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
 	reg_cap = &ar->ab->hal_reg_cap[ar->pdev_idx];
 	temp_reg_cap = reg_cap;
 
+	/* QCN6122 firmware omits the UNII-3 band (5725-5850 MHz, channels
+	 * 149-165) from high_5ghz_chan, which makes the driver mark those
+	 * channels IEEE80211_CHAN_DISABLED. Clamp it to the standard 5.8 GHz
+	 * upper bound so channels 149-165 remain usable.
+	 */
+	if (ar->ab->hw_rev == ATH11K_HW_QCN6122_HW10 &&
+	    reg_cap->high_5ghz_chan < 5825)
+		reg_cap->high_5ghz_chan = 5825;
+
 	if (supported_bands & WMI_HOST_WLAN_2G_CAP) {
 		channels = kmemdup(ath11k_2ghz_channels,
 				   sizeof(ath11k_2ghz_channels),



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] wifi: ath11k: fix QCN6122 UNII-3 channels 149-165 disabled
@ 2026-08-23 11:51 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-08-23 11:51 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "linux-review patch is more than 7 days old, verify it wasn't already superseded"
:::::: 

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <tencent_CA929E144EEEC926E8CFF32B18ED3A26A907@qq.com>
References: <tencent_CA929E144EEEC926E8CFF32B18ED3A26A907@qq.com>
TO: autumnshiu <autumnshiu@foxmail.com>
TO: linux-wireless@vger.kernel.org
CC: kvalo@kernel.org
CC: ath11k@lists.infradead.org

Hi autumnshiu,

kernel test robot noticed the following build errors:

[auto build test ERROR on ath/ath-next]
[also build test ERROR on wireless/main wireless-next/main linus/master v7.2 next-20260821]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/autumnshiu/wifi-ath11k-fix-QCN6122-UNII-3-channels-149-165-disabled/20260815-230738
base:   https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git ath-next
patch link:    https://lore.kernel.org/r/tencent_CA929E144EEEC926E8CFF32B18ED3A26A907%40qq.com
patch subject: [PATCH] wifi: ath11k: fix QCN6122 UNII-3 channels 149-165 disabled
:::::: branch date: 20 hours ago
:::::: commit date: 20 hours ago
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20260823/202608231300.oeIwNFod-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 16.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260823/202608231300.oeIwNFod-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202608231300.oeIwNFod-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/net/wireless/ath/ath11k/mac.c: In function 'ath11k_mac_setup_channels_rates':
>> drivers/net/wireless/ath/ath11k/mac.c:10180:31: error: 'ATH11K_HW_QCN6122_HW10' undeclared (first use in this function); did you mean 'ATH11K_HW_WCN6750_HW10'?
   10180 |         if (ar->ab->hw_rev == ATH11K_HW_QCN6122_HW10 &&
         |                               ^~~~~~~~~~~~~~~~~~~~~~
         |                               ATH11K_HW_WCN6750_HW10
   drivers/net/wireless/ath/ath11k/mac.c:10180:31: note: each undeclared identifier is reported only once for each function it appears in


vim +10180 drivers/net/wireless/ath/ath11k/mac.c

5f859bc02c7bc7 Carl Huang             2020-08-17  10158  
d5c65159f28953 Kalle Valo             2019-11-23  10159  static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
d5c65159f28953 Kalle Valo             2019-11-23  10160  					   u32 supported_bands)
d5c65159f28953 Kalle Valo             2019-11-23  10161  {
d5c65159f28953 Kalle Valo             2019-11-23  10162  	struct ieee80211_supported_band *band;
74bba5e5ba45d5 Wen Gong               2021-09-28  10163  	struct ath11k_hal_reg_capabilities_ext *reg_cap, *temp_reg_cap;
d5c65159f28953 Kalle Valo             2019-11-23  10164  	void *channels;
5f859bc02c7bc7 Carl Huang             2020-08-17  10165  	u32 phy_id;
d5c65159f28953 Kalle Valo             2019-11-23  10166  
d5c65159f28953 Kalle Valo             2019-11-23  10167  	BUILD_BUG_ON((ARRAY_SIZE(ath11k_2ghz_channels) +
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10168  		      ARRAY_SIZE(ath11k_5ghz_channels) +
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10169  		      ARRAY_SIZE(ath11k_6ghz_channels)) !=
d5c65159f28953 Kalle Valo             2019-11-23  10170  		     ATH11K_NUM_CHANS);
d5c65159f28953 Kalle Valo             2019-11-23  10171  
d5c65159f28953 Kalle Valo             2019-11-23  10172  	reg_cap = &ar->ab->hal_reg_cap[ar->pdev_idx];
74bba5e5ba45d5 Wen Gong               2021-09-28  10173  	temp_reg_cap = reg_cap;
d5c65159f28953 Kalle Valo             2019-11-23  10174  
3da35581ef5de9 autumnshiu             2026-08-15  10175  	/* QCN6122 firmware omits the UNII-3 band (5725-5850 MHz, channels
3da35581ef5de9 autumnshiu             2026-08-15  10176  	 * 149-165) from high_5ghz_chan, which makes the driver mark those
3da35581ef5de9 autumnshiu             2026-08-15  10177  	 * channels IEEE80211_CHAN_DISABLED. Clamp it to the standard 5.8 GHz
3da35581ef5de9 autumnshiu             2026-08-15  10178  	 * upper bound so channels 149-165 remain usable.
3da35581ef5de9 autumnshiu             2026-08-15  10179  	 */
3da35581ef5de9 autumnshiu             2026-08-15 @10180  	if (ar->ab->hw_rev == ATH11K_HW_QCN6122_HW10 &&
3da35581ef5de9 autumnshiu             2026-08-15  10181  	    reg_cap->high_5ghz_chan < 5825)
3da35581ef5de9 autumnshiu             2026-08-15  10182  		reg_cap->high_5ghz_chan = 5825;
3da35581ef5de9 autumnshiu             2026-08-15  10183  
d5c65159f28953 Kalle Valo             2019-11-23  10184  	if (supported_bands & WMI_HOST_WLAN_2G_CAP) {
d5c65159f28953 Kalle Valo             2019-11-23  10185  		channels = kmemdup(ath11k_2ghz_channels,
d5c65159f28953 Kalle Valo             2019-11-23  10186  				   sizeof(ath11k_2ghz_channels),
d5c65159f28953 Kalle Valo             2019-11-23  10187  				   GFP_KERNEL);
d5c65159f28953 Kalle Valo             2019-11-23  10188  		if (!channels)
d5c65159f28953 Kalle Valo             2019-11-23  10189  			return -ENOMEM;
d5c65159f28953 Kalle Valo             2019-11-23  10190  
d5c65159f28953 Kalle Valo             2019-11-23  10191  		band = &ar->mac.sbands[NL80211_BAND_2GHZ];
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10192  		band->band = NL80211_BAND_2GHZ;
d5c65159f28953 Kalle Valo             2019-11-23  10193  		band->n_channels = ARRAY_SIZE(ath11k_2ghz_channels);
d5c65159f28953 Kalle Valo             2019-11-23  10194  		band->channels = channels;
d5c65159f28953 Kalle Valo             2019-11-23  10195  		band->n_bitrates = ath11k_g_rates_size;
d5c65159f28953 Kalle Valo             2019-11-23  10196  		band->bitrates = ath11k_g_rates;
d5c65159f28953 Kalle Valo             2019-11-23  10197  		ar->hw->wiphy->bands[NL80211_BAND_2GHZ] = band;
5f859bc02c7bc7 Carl Huang             2020-08-17  10198  
5f859bc02c7bc7 Carl Huang             2020-08-17  10199  		if (ar->ab->hw_params.single_pdev_only) {
5f859bc02c7bc7 Carl Huang             2020-08-17  10200  			phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_2G_CAP);
74bba5e5ba45d5 Wen Gong               2021-09-28  10201  			temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
5f859bc02c7bc7 Carl Huang             2020-08-17  10202  		}
d5c65159f28953 Kalle Valo             2019-11-23  10203  		ath11k_mac_update_ch_list(ar, band,
74bba5e5ba45d5 Wen Gong               2021-09-28  10204  					  temp_reg_cap->low_2ghz_chan,
74bba5e5ba45d5 Wen Gong               2021-09-28  10205  					  temp_reg_cap->high_2ghz_chan);
d5c65159f28953 Kalle Valo             2019-11-23  10206  	}
d5c65159f28953 Kalle Valo             2019-11-23  10207  
d5c65159f28953 Kalle Valo             2019-11-23  10208  	if (supported_bands & WMI_HOST_WLAN_5G_CAP) {
e2ceb1de2f83aa Maxime Bizon           2023-04-21  10209  		if (reg_cap->high_5ghz_chan >= ATH11K_MIN_6G_FREQ) {
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10210  			channels = kmemdup(ath11k_6ghz_channels,
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10211  					   sizeof(ath11k_6ghz_channels), GFP_KERNEL);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10212  			if (!channels) {
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10213  				kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10214  				return -ENOMEM;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10215  			}
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10216  
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10217  			ar->supports_6ghz = true;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10218  			band = &ar->mac.sbands[NL80211_BAND_6GHZ];
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10219  			band->band = NL80211_BAND_6GHZ;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10220  			band->n_channels = ARRAY_SIZE(ath11k_6ghz_channels);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10221  			band->channels = channels;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10222  			band->n_bitrates = ath11k_a_rates_size;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10223  			band->bitrates = ath11k_a_rates;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10224  			ar->hw->wiphy->bands[NL80211_BAND_6GHZ] = band;
74bba5e5ba45d5 Wen Gong               2021-09-28  10225  
74bba5e5ba45d5 Wen Gong               2021-09-28  10226  			if (ar->ab->hw_params.single_pdev_only) {
74bba5e5ba45d5 Wen Gong               2021-09-28  10227  				phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_5G_CAP);
74bba5e5ba45d5 Wen Gong               2021-09-28  10228  				temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
74bba5e5ba45d5 Wen Gong               2021-09-28  10229  			}
74bba5e5ba45d5 Wen Gong               2021-09-28  10230  
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10231  			ath11k_mac_update_ch_list(ar, band,
74bba5e5ba45d5 Wen Gong               2021-09-28  10232  						  temp_reg_cap->low_5ghz_chan,
74bba5e5ba45d5 Wen Gong               2021-09-28  10233  						  temp_reg_cap->high_5ghz_chan);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10234  		}
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10235  
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10236  		if (reg_cap->low_5ghz_chan < ATH11K_MIN_6G_FREQ) {
d5c65159f28953 Kalle Valo             2019-11-23  10237  			channels = kmemdup(ath11k_5ghz_channels,
d5c65159f28953 Kalle Valo             2019-11-23  10238  					   sizeof(ath11k_5ghz_channels),
d5c65159f28953 Kalle Valo             2019-11-23  10239  					   GFP_KERNEL);
d5c65159f28953 Kalle Valo             2019-11-23  10240  			if (!channels) {
d5c65159f28953 Kalle Valo             2019-11-23  10241  				kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10242  				kfree(ar->mac.sbands[NL80211_BAND_6GHZ].channels);
d5c65159f28953 Kalle Valo             2019-11-23  10243  				return -ENOMEM;
d5c65159f28953 Kalle Valo             2019-11-23  10244  			}
d5c65159f28953 Kalle Valo             2019-11-23  10245  
d5c65159f28953 Kalle Valo             2019-11-23  10246  			band = &ar->mac.sbands[NL80211_BAND_5GHZ];
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10247  			band->band = NL80211_BAND_5GHZ;
d5c65159f28953 Kalle Valo             2019-11-23  10248  			band->n_channels = ARRAY_SIZE(ath11k_5ghz_channels);
d5c65159f28953 Kalle Valo             2019-11-23  10249  			band->channels = channels;
d5c65159f28953 Kalle Valo             2019-11-23  10250  			band->n_bitrates = ath11k_a_rates_size;
d5c65159f28953 Kalle Valo             2019-11-23  10251  			band->bitrates = ath11k_a_rates;
d5c65159f28953 Kalle Valo             2019-11-23  10252  			ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
5f859bc02c7bc7 Carl Huang             2020-08-17  10253  
5f859bc02c7bc7 Carl Huang             2020-08-17  10254  			if (ar->ab->hw_params.single_pdev_only) {
5f859bc02c7bc7 Carl Huang             2020-08-17  10255  				phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_5G_CAP);
74bba5e5ba45d5 Wen Gong               2021-09-28  10256  				temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
5f859bc02c7bc7 Carl Huang             2020-08-17  10257  			}
5f859bc02c7bc7 Carl Huang             2020-08-17  10258  
d5c65159f28953 Kalle Valo             2019-11-23  10259  			ath11k_mac_update_ch_list(ar, band,
74bba5e5ba45d5 Wen Gong               2021-09-28  10260  						  temp_reg_cap->low_5ghz_chan,
74bba5e5ba45d5 Wen Gong               2021-09-28  10261  						  temp_reg_cap->high_5ghz_chan);
d5c65159f28953 Kalle Valo             2019-11-23  10262  		}
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10263  	}
d5c65159f28953 Kalle Valo             2019-11-23  10264  
d5c65159f28953 Kalle Valo             2019-11-23  10265  	return 0;
d5c65159f28953 Kalle Valo             2019-11-23  10266  }
d5c65159f28953 Kalle Valo             2019-11-23  10267  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] wifi: ath11k: fix QCN6122 UNII-3 channels 149-165 disabled
@ 2026-08-23 12:12 kernel test robot
  0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-08-23 12:12 UTC (permalink / raw)
  To: oe-kbuild; +Cc: lkp

:::::: 
:::::: Manual check reason: "linux-review patch is more than 7 days old, verify it wasn't already superseded"
:::::: 

BCC: lkp@intel.com
CC: llvm@lists.linux.dev
CC: oe-kbuild-all@lists.linux.dev
In-Reply-To: <tencent_CA929E144EEEC926E8CFF32B18ED3A26A907@qq.com>
References: <tencent_CA929E144EEEC926E8CFF32B18ED3A26A907@qq.com>
TO: autumnshiu <autumnshiu@foxmail.com>
TO: linux-wireless@vger.kernel.org
CC: kvalo@kernel.org
CC: ath11k@lists.infradead.org

Hi autumnshiu,

kernel test robot noticed the following build errors:

[auto build test ERROR on ath/ath-next]
[also build test ERROR on wireless/main wireless-next/main linus/master v7.2 next-20260821]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/autumnshiu/wifi-ath11k-fix-QCN6122-UNII-3-channels-149-165-disabled/20260815-230738
base:   https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git ath-next
patch link:    https://lore.kernel.org/r/tencent_CA929E144EEEC926E8CFF32B18ED3A26A907%40qq.com
patch subject: [PATCH] wifi: ath11k: fix QCN6122 UNII-3 channels 149-165 disabled
:::::: branch date: 17 hours ago
:::::: commit date: 17 hours ago
config: x86_64-buildonly-randconfig-001-20260823 (https://download.01.org/0day-ci/archive/20260823/202608230944.QS5Ju9Mj-lkp@intel.com/config)
compiler: clang version 22.1.3 (https://github.com/llvm/llvm-project e9846648fd6183ee6d8cbdb4502213fcf902a211)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260823/202608230944.QS5Ju9Mj-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/r/202608230944.QS5Ju9Mj-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/net/wireless/ath/ath11k/mac.c:10180:24: error: use of undeclared identifier 'ATH11K_HW_QCN6122_HW10'
    10180 |         if (ar->ab->hw_rev == ATH11K_HW_QCN6122_HW10 &&
          |                               ^~~~~~~~~~~~~~~~~~~~~~
   1 error generated.


vim +/ATH11K_HW_QCN6122_HW10 +10180 drivers/net/wireless/ath/ath11k/mac.c

5f859bc02c7bc7 Carl Huang             2020-08-17  10158  
d5c65159f28953 Kalle Valo             2019-11-23  10159  static int ath11k_mac_setup_channels_rates(struct ath11k *ar,
d5c65159f28953 Kalle Valo             2019-11-23  10160  					   u32 supported_bands)
d5c65159f28953 Kalle Valo             2019-11-23  10161  {
d5c65159f28953 Kalle Valo             2019-11-23  10162  	struct ieee80211_supported_band *band;
74bba5e5ba45d5 Wen Gong               2021-09-28  10163  	struct ath11k_hal_reg_capabilities_ext *reg_cap, *temp_reg_cap;
d5c65159f28953 Kalle Valo             2019-11-23  10164  	void *channels;
5f859bc02c7bc7 Carl Huang             2020-08-17  10165  	u32 phy_id;
d5c65159f28953 Kalle Valo             2019-11-23  10166  
d5c65159f28953 Kalle Valo             2019-11-23  10167  	BUILD_BUG_ON((ARRAY_SIZE(ath11k_2ghz_channels) +
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10168  		      ARRAY_SIZE(ath11k_5ghz_channels) +
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10169  		      ARRAY_SIZE(ath11k_6ghz_channels)) !=
d5c65159f28953 Kalle Valo             2019-11-23  10170  		     ATH11K_NUM_CHANS);
d5c65159f28953 Kalle Valo             2019-11-23  10171  
d5c65159f28953 Kalle Valo             2019-11-23  10172  	reg_cap = &ar->ab->hal_reg_cap[ar->pdev_idx];
74bba5e5ba45d5 Wen Gong               2021-09-28  10173  	temp_reg_cap = reg_cap;
d5c65159f28953 Kalle Valo             2019-11-23  10174  
3da35581ef5de9 autumnshiu             2026-08-15  10175  	/* QCN6122 firmware omits the UNII-3 band (5725-5850 MHz, channels
3da35581ef5de9 autumnshiu             2026-08-15  10176  	 * 149-165) from high_5ghz_chan, which makes the driver mark those
3da35581ef5de9 autumnshiu             2026-08-15  10177  	 * channels IEEE80211_CHAN_DISABLED. Clamp it to the standard 5.8 GHz
3da35581ef5de9 autumnshiu             2026-08-15  10178  	 * upper bound so channels 149-165 remain usable.
3da35581ef5de9 autumnshiu             2026-08-15  10179  	 */
3da35581ef5de9 autumnshiu             2026-08-15 @10180  	if (ar->ab->hw_rev == ATH11K_HW_QCN6122_HW10 &&
3da35581ef5de9 autumnshiu             2026-08-15  10181  	    reg_cap->high_5ghz_chan < 5825)
3da35581ef5de9 autumnshiu             2026-08-15  10182  		reg_cap->high_5ghz_chan = 5825;
3da35581ef5de9 autumnshiu             2026-08-15  10183  
d5c65159f28953 Kalle Valo             2019-11-23  10184  	if (supported_bands & WMI_HOST_WLAN_2G_CAP) {
d5c65159f28953 Kalle Valo             2019-11-23  10185  		channels = kmemdup(ath11k_2ghz_channels,
d5c65159f28953 Kalle Valo             2019-11-23  10186  				   sizeof(ath11k_2ghz_channels),
d5c65159f28953 Kalle Valo             2019-11-23  10187  				   GFP_KERNEL);
d5c65159f28953 Kalle Valo             2019-11-23  10188  		if (!channels)
d5c65159f28953 Kalle Valo             2019-11-23  10189  			return -ENOMEM;
d5c65159f28953 Kalle Valo             2019-11-23  10190  
d5c65159f28953 Kalle Valo             2019-11-23  10191  		band = &ar->mac.sbands[NL80211_BAND_2GHZ];
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10192  		band->band = NL80211_BAND_2GHZ;
d5c65159f28953 Kalle Valo             2019-11-23  10193  		band->n_channels = ARRAY_SIZE(ath11k_2ghz_channels);
d5c65159f28953 Kalle Valo             2019-11-23  10194  		band->channels = channels;
d5c65159f28953 Kalle Valo             2019-11-23  10195  		band->n_bitrates = ath11k_g_rates_size;
d5c65159f28953 Kalle Valo             2019-11-23  10196  		band->bitrates = ath11k_g_rates;
d5c65159f28953 Kalle Valo             2019-11-23  10197  		ar->hw->wiphy->bands[NL80211_BAND_2GHZ] = band;
5f859bc02c7bc7 Carl Huang             2020-08-17  10198  
5f859bc02c7bc7 Carl Huang             2020-08-17  10199  		if (ar->ab->hw_params.single_pdev_only) {
5f859bc02c7bc7 Carl Huang             2020-08-17  10200  			phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_2G_CAP);
74bba5e5ba45d5 Wen Gong               2021-09-28  10201  			temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
5f859bc02c7bc7 Carl Huang             2020-08-17  10202  		}
d5c65159f28953 Kalle Valo             2019-11-23  10203  		ath11k_mac_update_ch_list(ar, band,
74bba5e5ba45d5 Wen Gong               2021-09-28  10204  					  temp_reg_cap->low_2ghz_chan,
74bba5e5ba45d5 Wen Gong               2021-09-28  10205  					  temp_reg_cap->high_2ghz_chan);
d5c65159f28953 Kalle Valo             2019-11-23  10206  	}
d5c65159f28953 Kalle Valo             2019-11-23  10207  
d5c65159f28953 Kalle Valo             2019-11-23  10208  	if (supported_bands & WMI_HOST_WLAN_5G_CAP) {
e2ceb1de2f83aa Maxime Bizon           2023-04-21  10209  		if (reg_cap->high_5ghz_chan >= ATH11K_MIN_6G_FREQ) {
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10210  			channels = kmemdup(ath11k_6ghz_channels,
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10211  					   sizeof(ath11k_6ghz_channels), GFP_KERNEL);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10212  			if (!channels) {
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10213  				kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10214  				return -ENOMEM;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10215  			}
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10216  
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10217  			ar->supports_6ghz = true;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10218  			band = &ar->mac.sbands[NL80211_BAND_6GHZ];
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10219  			band->band = NL80211_BAND_6GHZ;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10220  			band->n_channels = ARRAY_SIZE(ath11k_6ghz_channels);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10221  			band->channels = channels;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10222  			band->n_bitrates = ath11k_a_rates_size;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10223  			band->bitrates = ath11k_a_rates;
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10224  			ar->hw->wiphy->bands[NL80211_BAND_6GHZ] = band;
74bba5e5ba45d5 Wen Gong               2021-09-28  10225  
74bba5e5ba45d5 Wen Gong               2021-09-28  10226  			if (ar->ab->hw_params.single_pdev_only) {
74bba5e5ba45d5 Wen Gong               2021-09-28  10227  				phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_5G_CAP);
74bba5e5ba45d5 Wen Gong               2021-09-28  10228  				temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
74bba5e5ba45d5 Wen Gong               2021-09-28  10229  			}
74bba5e5ba45d5 Wen Gong               2021-09-28  10230  
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10231  			ath11k_mac_update_ch_list(ar, band,
74bba5e5ba45d5 Wen Gong               2021-09-28  10232  						  temp_reg_cap->low_5ghz_chan,
74bba5e5ba45d5 Wen Gong               2021-09-28  10233  						  temp_reg_cap->high_5ghz_chan);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10234  		}
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10235  
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10236  		if (reg_cap->low_5ghz_chan < ATH11K_MIN_6G_FREQ) {
d5c65159f28953 Kalle Valo             2019-11-23  10237  			channels = kmemdup(ath11k_5ghz_channels,
d5c65159f28953 Kalle Valo             2019-11-23  10238  					   sizeof(ath11k_5ghz_channels),
d5c65159f28953 Kalle Valo             2019-11-23  10239  					   GFP_KERNEL);
d5c65159f28953 Kalle Valo             2019-11-23  10240  			if (!channels) {
d5c65159f28953 Kalle Valo             2019-11-23  10241  				kfree(ar->mac.sbands[NL80211_BAND_2GHZ].channels);
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10242  				kfree(ar->mac.sbands[NL80211_BAND_6GHZ].channels);
d5c65159f28953 Kalle Valo             2019-11-23  10243  				return -ENOMEM;
d5c65159f28953 Kalle Valo             2019-11-23  10244  			}
d5c65159f28953 Kalle Valo             2019-11-23  10245  
d5c65159f28953 Kalle Valo             2019-11-23  10246  			band = &ar->mac.sbands[NL80211_BAND_5GHZ];
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10247  			band->band = NL80211_BAND_5GHZ;
d5c65159f28953 Kalle Valo             2019-11-23  10248  			band->n_channels = ARRAY_SIZE(ath11k_5ghz_channels);
d5c65159f28953 Kalle Valo             2019-11-23  10249  			band->channels = channels;
d5c65159f28953 Kalle Valo             2019-11-23  10250  			band->n_bitrates = ath11k_a_rates_size;
d5c65159f28953 Kalle Valo             2019-11-23  10251  			band->bitrates = ath11k_a_rates;
d5c65159f28953 Kalle Valo             2019-11-23  10252  			ar->hw->wiphy->bands[NL80211_BAND_5GHZ] = band;
5f859bc02c7bc7 Carl Huang             2020-08-17  10253  
5f859bc02c7bc7 Carl Huang             2020-08-17  10254  			if (ar->ab->hw_params.single_pdev_only) {
5f859bc02c7bc7 Carl Huang             2020-08-17  10255  				phy_id = ath11k_get_phy_id(ar, WMI_HOST_WLAN_5G_CAP);
74bba5e5ba45d5 Wen Gong               2021-09-28  10256  				temp_reg_cap = &ar->ab->hal_reg_cap[phy_id];
5f859bc02c7bc7 Carl Huang             2020-08-17  10257  			}
5f859bc02c7bc7 Carl Huang             2020-08-17  10258  
d5c65159f28953 Kalle Valo             2019-11-23  10259  			ath11k_mac_update_ch_list(ar, band,
74bba5e5ba45d5 Wen Gong               2021-09-28  10260  						  temp_reg_cap->low_5ghz_chan,
74bba5e5ba45d5 Wen Gong               2021-09-28  10261  						  temp_reg_cap->high_5ghz_chan);
d5c65159f28953 Kalle Valo             2019-11-23  10262  		}
22eeadcdeab63e Pradeep Kumar Chitrapu 2020-06-09  10263  	}
d5c65159f28953 Kalle Valo             2019-11-23  10264  
d5c65159f28953 Kalle Valo             2019-11-23  10265  	return 0;
d5c65159f28953 Kalle Valo             2019-11-23  10266  }
d5c65159f28953 Kalle Valo             2019-11-23  10267  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-23 12:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-23 11:51 [PATCH] wifi: ath11k: fix QCN6122 UNII-3 channels 149-165 disabled kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2026-08-23 12:12 kernel test robot
2026-08-15 15:07 autumnshiu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.