diff options
| author | Aditya Kumar Singh <aditya.kumar.singh@oss.qualcomm.com> | 2025-01-23 21:51:38 +0530 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2025-02-21 14:11:05 +0100 |
| commit | a495843607c9574fc9648814e4383e14eaf4da8c (patch) | |
| tree | 41e6913516a39f411c524e82d49f102b941f2e30 /drivers/pci/quirks.c | |
| parent | bf4a29d284f60926baf9a642cea5ea617f7d305e (diff) | |
| download | linux-a495843607c9574fc9648814e4383e14eaf4da8c.tar.gz linux-a495843607c9574fc9648814e4383e14eaf4da8c.tar.bz2 linux-a495843607c9574fc9648814e4383e14eaf4da8c.zip | |
wifi: ath12k: fix handling of 6 GHz rules
commit 64a1ba4072b34af1b76bf15fca5c2075b8cc4d64 upstream.
In the US country code, to avoid including 6 GHz rules in the 5 GHz rules
list, the number of 5 GHz rules is set to a default constant value of 4
(REG_US_5G_NUM_REG_RULES). However, if there are more than 4 valid 5 GHz
rules, the current logic will bypass the legitimate 6 GHz rules.
For example, if there are 5 valid 5 GHz rules and 1 valid 6 GHz rule, the
current logic will only consider 4 of the 5 GHz rules, treating the last
valid rule as a 6 GHz rule. Consequently, the actual 6 GHz rule is never
processed, leading to the eventual disabling of 6 GHz channels.
To fix this issue, instead of hardcoding the value to 4, use a helper
function to determine the number of 6 GHz rules present in the 5 GHz rules
list and ignore only those rules.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1
Cc: stable@vger.kernel.org
Fixes: d889913205cf ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Signed-off-by: Aditya Kumar Singh <aditya.kumar.singh@oss.qualcomm.com>
Link: https://patch.msgid.link/20250123-fix_6ghz_rules_handling-v1-1-d734bfa58ff4@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/pci/quirks.c')
0 files changed, 0 insertions, 0 deletions
