* [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.