mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-28 17:48:58 +00:00
323e249ce8
This updates mac80211 to version 6.1.97-1. This code is based on Linux 6.1.97 and contains all fixes included in the upstream wireless subsystem from that kernel version. This includes many bugfixes and also some security fixes. The removed patches are already integrated in upstream Linux 6.1.97 or in backports. The following patches were integrated in upstream Linux: ath11k/0013-wifi-ath11k-synchronize-ath11k_mac_he_gi_to_nl80211_.patch ath11k/0035-wifi-ath11k-Use-platform_get_irq-to-get-the-interrup.patch ath11k/0036-wifi-ath11k-fix-SAC-bug-on-peer-addition-with-sta-ba.patch ath11k/0047-wifi-ath11k-fix-deinitialization-of-firmware-resourc.patch ath11k/0053-wifi-ath11k-fix-writing-to-unintended-memory-region.patch ath11k/0060-wifi-ath11k-Ignore-frags-from-uninitialized-peer-in-.patch ath11k/0065-wifi-ath11k-fix-tx-status-reporting-in-encap-offload.patch ath11k/0067-wifi-ath11k-Fix-SKB-corruption-in-REO-destination-ri.patch ath11k/0069-wifi-ath11k-fix-registration-of-6Ghz-only-phy-withou.patch ath11k/0080-wifi-ath11k-add-support-default-regdb-while-searchin.patch ath11k/0085-wifi-ath11k-fix-memory-leak-in-WMI-firmware-stats.patch ath11k/0086-wifi-ath11k-Add-missing-check-for-ioremap.patch ath11k/0096-wifi-ath11k-fix-boot-failure-with-one-MSI-vector.patch subsys/337-wifi-mac80211-fix-race-condition-on-enabling-fast-xm.patch The following patches were integrated in upstream backports: ath11k/901-wifi-ath11k-pci-fix-compilation-in-5.16-and-older.patch build/080-resv_start_op.patch build/110-backport_napi_build_skb.patch The following files are missing in backports, we do not have to remove them any more. Some were already missing before some were removed in this update: include/linux/cordic.h include/linux/crc8.h include/linux/eeprom_93cx6.h include/linux/wl12xx.h include/net/ieee80211.h backport-include/linux/bcm47xx_nvram.h include/linux/ath9k_platform.h include/net/bluetooth/ backports ships a dummy Mediatek wed header for older kernel versions. We backported the feature in our kernel, remove the dummy header: backport-include/linux/soc/mediatek/mtk_wed.h Remove header files for subsystems used form the mainline kernel: include/trace/events/qrtr.h include/net/rsi_91x.h backport-include/linux/platform_data/brcmnand.h Link: https://github.com/openwrt/openwrt/pull/15827 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
93 lines
2.3 KiB
Diff
93 lines
2.3 KiB
Diff
--- a/drivers/net/wireless/ath/regd.c
|
|
+++ b/drivers/net/wireless/ath/regd.c
|
|
@@ -24,6 +24,7 @@
|
|
#include "regd_common.h"
|
|
|
|
static int __ath_regd_init(struct ath_regulatory *reg);
|
|
+static struct reg_dmn_pair_mapping *ath_get_regpair(int regdmn);
|
|
|
|
/*
|
|
* This is a set of common rules used by our world regulatory domains.
|
|
@@ -116,6 +117,9 @@ static const struct ieee80211_regdomain
|
|
|
|
static bool dynamic_country_user_possible(struct ath_regulatory *reg)
|
|
{
|
|
+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
|
+ return true;
|
|
+
|
|
if (IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_CERT_TESTING))
|
|
return true;
|
|
|
|
@@ -188,6 +192,8 @@ static bool dynamic_country_user_possibl
|
|
|
|
static bool ath_reg_dyn_country_user_allow(struct ath_regulatory *reg)
|
|
{
|
|
+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
|
+ return true;
|
|
if (!IS_ENABLED(CPTCFG_ATH_REG_DYNAMIC_USER_REG_HINTS))
|
|
return false;
|
|
if (!dynamic_country_user_possible(reg))
|
|
@@ -345,6 +351,9 @@ ath_reg_apply_beaconing_flags(struct wip
|
|
struct ieee80211_channel *ch;
|
|
unsigned int i;
|
|
|
|
+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
|
+ return;
|
|
+
|
|
for (band = 0; band < NUM_NL80211_BANDS; band++) {
|
|
if (!wiphy->bands[band])
|
|
continue;
|
|
@@ -379,6 +388,9 @@ ath_reg_apply_ir_flags(struct wiphy *wip
|
|
{
|
|
struct ieee80211_supported_band *sband;
|
|
|
|
+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
|
+ return;
|
|
+
|
|
sband = wiphy->bands[NL80211_BAND_2GHZ];
|
|
if (!sband)
|
|
return;
|
|
@@ -408,6 +420,9 @@ static void ath_reg_apply_radar_flags(st
|
|
struct ieee80211_channel *ch;
|
|
unsigned int i;
|
|
|
|
+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
|
+ return;
|
|
+
|
|
if (!wiphy->bands[NL80211_BAND_5GHZ])
|
|
return;
|
|
|
|
@@ -640,6 +655,10 @@ ath_regd_init_wiphy(struct ath_regulator
|
|
const struct ieee80211_regdomain *regd;
|
|
|
|
wiphy->reg_notifier = reg_notifier;
|
|
+
|
|
+ if (IS_ENABLED(CPTCFG_ATH_USER_REGD))
|
|
+ return 0;
|
|
+
|
|
wiphy->regulatory_flags |= REGULATORY_STRICT_REG |
|
|
REGULATORY_CUSTOM_REG;
|
|
|
|
--- a/drivers/net/wireless/ath/Kconfig
|
|
+++ b/drivers/net/wireless/ath/Kconfig
|
|
@@ -24,6 +24,9 @@ config WLAN_VENDOR_ATH
|
|
|
|
if WLAN_VENDOR_ATH
|
|
|
|
+config ATH_USER_REGD
|
|
+ bool "Do not enforce EEPROM regulatory restrictions"
|
|
+
|
|
config ATH_DEBUG
|
|
bool "Atheros wireless debugging"
|
|
help
|
|
--- a/local-symbols
|
|
+++ b/local-symbols
|
|
@@ -94,6 +94,7 @@ ADM8211=
|
|
ATH_COMMON=
|
|
WLAN_VENDOR_ATH=
|
|
ATH_DEBUG=
|
|
+ATH_USER_REGD=
|
|
ATH_TRACEPOINTS=
|
|
ATH_REG_DYNAMIC_USER_REG_HINTS=
|
|
ATH_REG_DYNAMIC_USER_CERT_TESTING=
|