From 3aa18f71f9c8a5447bdd2deda4e681175338164f Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 31 Jul 2022 01:24:00 +0200 Subject: [PATCH] mac80211: Update to version 5.15.58-1 This updates mac80211 to version 5.15.58-1 which is based on kernel 5.15.58. The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens --- package/kernel/mac80211/Makefile | 6 +- .../patches/ath/402-ath_regd_optional.patch | 2 +- .../patches/ath/404-regd_no_assoc_hints.patch | 4 +- .../ath10k/080-ath10k_thermal_config.patch | 2 +- ...add-encapsulation-offloading-support.patch | 8 +-- .../930-ath10k_add_tpt_led_trigger.patch | 4 +- ...rolling-support-for-various-chipsets.patch | 2 +- ...75-ath10k-use-tpt-trigger-by-default.patch | 2 +- .../ath9k/551-ath9k_ubnt_uap_plus_hsr.patch | 2 +- .../580-ath9k_ar9561_fix_bias_level.patch | 42 ------------- ...d-alternative-firmware-names-from-DT.patch | 31 ++++------ .../patches/build/060-no_local_ssb_bcma.patch | 10 +-- ...crease-the-global-limit-up-to-4-SSID.patch | 13 ++-- ...ringified-name-of-command-in-error-l.patch | 29 +++------ .../602-rt2x00-introduce-rt2x00eeprom.patch | 2 +- ...-the-fwd_skb-dev-for-mesh-forwarding.patch | 2 +- ...211_hwsim-make-6-GHz-channels-usable.patch | 8 +-- ...d-support-for-.ndo_fill_forward_path.patch | 2 +- ...l_ht-reduce-fluctuations-in-rate-pro.patch | 2 +- ...l_ht-rework-rate-downgrade-code-and-.patch | 16 ++--- ...11-MBSSID-and-EMA-support-in-AP-mode.patch | 22 +++---- ...nt-APIs-for-dedicated-radar-detectio.patch | 6 +- ...ontinuous-radar-monitoring-on-offcha.patch | 6 +- ...offchannel_chain-structs-to-backgrou.patch | 4 +- ...l_ht-fix-where-rate-stats-are-stored.patch | 61 ------------------- ...airtime-fairness-back-to-deficit-rou.patch | 10 +-- ...er-PHY-AQL-limit-to-improve-fairness.patch | 2 +- ...ue-selection-for-mesh-OCB-interfaces.patch | 28 --------- .../subsys/350-bss-color-collision.patch | 4 +- .../500-mac80211_configure_antenna_gain.patch | 6 +- 30 files changed, 91 insertions(+), 247 deletions(-) delete mode 100644 package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_fix_bias_level.patch delete mode 100644 package/kernel/mac80211/patches/subsys/329-mac80211-minstrel_ht-fix-where-rate-stats-are-stored.patch delete mode 100644 package/kernel/mac80211/patches/subsys/338-mac80211-fix-queue-selection-for-mesh-OCB-interfaces.patch diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 3917f48f05..afc10bdb5c 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=5.15.33-1 +PKG_VERSION:=5.15.58-1 PKG_RELEASE:=1 -PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.33/ -PKG_HASH:=1b6b3bded4c81814ebebe2d194c2f8966d2399005b85ebb0557285b6e73f5422 +PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.58/ +PKG_HASH:=a3c2a2b7bbaf8943c65fd72f4e7d7ad5e205aeae28b26c835f9d8afa0f9810bf PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION) diff --git a/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch b/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch index 514cfd9e5e..4ea33365d1 100644 --- a/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch +++ b/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch @@ -82,7 +82,7 @@ help --- a/local-symbols +++ b/local-symbols -@@ -83,6 +83,7 @@ ADM8211= +@@ -106,6 +106,7 @@ ADM8211= ATH_COMMON= WLAN_VENDOR_ATH= ATH_DEBUG= diff --git a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch index c8eef504c6..02281adf4a 100644 --- a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch +++ b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch @@ -1,6 +1,6 @@ --- a/net/wireless/reg.c +++ b/net/wireless/reg.c -@@ -3304,6 +3304,8 @@ void regulatory_hint_country_ie(struct w +@@ -3309,6 +3309,8 @@ void regulatory_hint_country_ie(struct w enum environment_cap env = ENVIRON_ANY; struct regulatory_request *request = NULL, *lr; @@ -9,7 +9,7 @@ /* IE len must be evenly divisible by 2 */ if (country_ie_len & 0x01) return; -@@ -3555,6 +3557,7 @@ static bool is_wiphy_all_set_reg_flag(en +@@ -3560,6 +3562,7 @@ static bool is_wiphy_all_set_reg_flag(en void regulatory_hint_disconnect(void) { diff --git a/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch b/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch index de6f9d9bb0..d9a3cd534c 100644 --- a/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch +++ b/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch @@ -37,7 +37,7 @@ void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature); --- a/local-symbols +++ b/local-symbols -@@ -142,6 +142,7 @@ ATH10K_SNOC= +@@ -165,6 +165,7 @@ ATH10K_SNOC= ATH10K_DEBUG= ATH10K_DEBUGFS= ATH10K_SPECTRAL= diff --git a/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch b/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch index cb02dede64..abca7aac9e 100644 --- a/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch +++ b/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch @@ -123,7 +123,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com ret = ath10k_htt_tx_inc_pending(htt); if (ret) { -@@ -5447,6 +5465,30 @@ static int ath10k_mac_set_txbf_conf(stru +@@ -5463,6 +5481,30 @@ static int ath10k_mac_set_txbf_conf(stru ar->wmi.vdev_param->txbf, value); } @@ -154,7 +154,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com /* * TODO: * Figure out how to handle WMI_VDEV_SUBTYPE_P2P_DEVICE, -@@ -5656,15 +5698,7 @@ static int ath10k_add_interface(struct i +@@ -5672,15 +5714,7 @@ static int ath10k_add_interface(struct i arvif->def_wep_key_idx = -1; @@ -171,7 +171,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com /* Configuring number of spatial stream for monitor interface is causing * target assert in qca9888 and qca6174. -@@ -9352,6 +9386,7 @@ static const struct ieee80211_ops ath10k +@@ -9368,6 +9402,7 @@ static const struct ieee80211_ops ath10k .stop = ath10k_stop, .config = ath10k_config, .add_interface = ath10k_add_interface, @@ -179,7 +179,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com .remove_interface = ath10k_remove_interface, .configure_filter = ath10k_configure_filter, .bss_info_changed = ath10k_bss_info_changed, -@@ -10021,6 +10056,12 @@ int ath10k_mac_register(struct ath10k *a +@@ -10037,6 +10072,12 @@ int ath10k_mac_register(struct ath10k *a if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map)) ieee80211_hw_set(ar->hw, SUPPORTS_TDLS_BUFFER_STA); diff --git a/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch b/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch index 9cbc52b88f..9dfde4385e 100644 --- a/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch +++ b/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -9878,6 +9878,21 @@ static int ath10k_mac_init_rd(struct ath +@@ -9894,6 +9894,21 @@ static int ath10k_mac_init_rd(struct ath return 0; } @@ -22,7 +22,7 @@ int ath10k_mac_register(struct ath10k *ar) { static const u32 cipher_suites[] = { -@@ -10236,6 +10251,12 @@ int ath10k_mac_register(struct ath10k *a +@@ -10252,6 +10267,12 @@ int ath10k_mac_register(struct ath10k *a ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; diff --git a/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch index f1e7f5ecc6..47b52416ab 100644 --- a/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch +++ b/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch @@ -114,7 +114,7 @@ v13: ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o --- a/local-symbols +++ b/local-symbols -@@ -143,6 +143,7 @@ ATH10K_DEBUG= +@@ -166,6 +166,7 @@ ATH10K_DEBUG= ATH10K_DEBUGFS= ATH10K_SPECTRAL= ATH10K_THERMAL= diff --git a/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch b/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch index 4c1b73b1c1..842853ddf4 100644 --- a/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch +++ b/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch @@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin if (ret) --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -10253,7 +10253,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -10269,7 +10269,7 @@ int ath10k_mac_register(struct ath10k *a ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; #ifdef CPTCFG_MAC80211_LEDS diff --git a/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch b/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch index 291bc6d1e1..6b5c0dc514 100644 --- a/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch +++ b/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch @@ -371,7 +371,7 @@ --- a/local-symbols +++ b/local-symbols -@@ -110,6 +110,7 @@ ATH9K_WOW= +@@ -133,6 +133,7 @@ ATH9K_WOW= ATH9K_RFKILL= ATH9K_CHANNEL_CONTEXT= ATH9K_PCOEM= diff --git a/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_fix_bias_level.patch b/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_fix_bias_level.patch deleted file mode 100644 index b883177b9f..0000000000 --- a/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_fix_bias_level.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4509e523dba46f789377cfec6f20579adf743416 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thibaut=20VAR=C3=88NE?= -Date: Sun, 17 Apr 2022 11:31:35 +0200 -Subject: [PATCH v2] ath9k: fix QCA9561 PA bias level -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch fixes an invalid TX PA DC bias level on QCA9561, which -results in a very low output power and very low throughput as devices -are further away from the AP (compared to other 2.4GHz APs). - -This patch was suggested by Felix Fietkau, who noted[1]: -"The value written to that register is wrong, because while the mask -definition AR_CH0_TOP2_XPABIASLVL uses a different value for 9561, the -shift definition AR_CH0_TOP2_XPABIASLVL_S is hardcoded to 12, which is -wrong for 9561." - -In real life testing, without this patch the 2.4GHz throughput on -Yuncore XD3200 is around 10Mbps sitting next to the AP, and closer to -practical maximum with the patch applied. - -[1] https://lore.kernel.org/all/91c58969-c60e-2f41-00ac-737786d435ae@nbd.name - -Signed-off-by: Thibaut VARÈNE ---- -v2: Adjust #define per Felix's suggestion ---- - drivers/net/wireless/ath/ath9k/ar9003_phy.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h -+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h -@@ -720,7 +720,7 @@ - #define AR_CH0_TOP2 (AR_SREV_9300(ah) ? 0x1628c : \ - (AR_SREV_9462(ah) ? 0x16290 : 0x16284)) - #define AR_CH0_TOP2_XPABIASLVL (AR_SREV_9561(ah) ? 0x1e00 : 0xf000) --#define AR_CH0_TOP2_XPABIASLVL_S 12 -+#define AR_CH0_TOP2_XPABIASLVL_S (AR_SREV_9561(ah) ? 9 : 12) - - #define AR_CH0_XTAL (AR_SREV_9300(ah) ? 0x16294 : \ - ((AR_SREV_9462(ah) || AR_SREV_9565(ah)) ? 0x16298 : \ diff --git a/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch b/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch index 6d9cfe7b14..8adb8c42a1 100644 --- a/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch +++ b/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch @@ -14,11 +14,9 @@ Signed-off-by: Phil Elwell .../broadcom/brcm80211/brcmfmac/sdio.c | 47 +++++++++++++++++-- 3 files changed, 87 insertions(+), 3 deletions(-) -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c -index 2f7bc3a70c65..c2d6b8a22858 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c -@@ -10,6 +10,7 @@ +@@ -11,6 +11,7 @@ #include "debug.h" #include "core.h" #include "common.h" @@ -26,7 +24,7 @@ index 2f7bc3a70c65..c2d6b8a22858 100644 #include "of.h" static int brcmf_of_get_country_codes(struct device *dev, -@@ -118,3 +119,38 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type, +@@ -153,3 +154,38 @@ void brcmf_of_probe(struct device *dev, sdio->oob_irq_nr = irq; sdio->oob_irq_flags = irqf; } @@ -65,8 +63,6 @@ index 2f7bc3a70c65..c2d6b8a22858 100644 + + return count ? fwnames : NULL; +} -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h -index 10bf52253337..5b39a39812d0 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h @@ -5,9 +5,16 @@ @@ -86,8 +82,6 @@ index 10bf52253337..5b39a39812d0 100644 + return NULL; +} #endif /* CONFIG_OF */ -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 89de65d32ed5..88c08fee58f6 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -35,6 +35,7 @@ @@ -98,7 +92,7 @@ index 89de65d32ed5..88c08fee58f6 100644 #define DCMD_RESP_TIMEOUT msecs_to_jiffies(2500) #define CTL_DONE_TIMEOUT msecs_to_jiffies(2500) -@@ -634,7 +635,7 @@ MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-sdio.*.txt"); +@@ -633,7 +634,7 @@ MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "b /* per-board firmware binaries */ MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-sdio.*.bin"); @@ -107,7 +101,7 @@ index 89de65d32ed5..88c08fee58f6 100644 BRCMF_FW_ENTRY(BRCM_CC_43143_CHIP_ID, 0xFFFFFFFF, 43143), BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x0000001F, 43241B0), BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x00000020, 43241B4), -@@ -660,6 +661,9 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { +@@ -659,6 +660,9 @@ static const struct brcmf_firmware_mappi BRCMF_FW_ENTRY(CY_CC_43752_CHIP_ID, 0xFFFFFFFF, 43752) }; @@ -117,8 +111,8 @@ index 89de65d32ed5..88c08fee58f6 100644 #define TXCTL_CREDITS 2 static void pkt_align(struct sk_buff *p, int len, int align) -@@ -4151,7 +4155,7 @@ int brcmf_sdio_get_fwname(struct device *dev, const char *ext, u8 *fw_name, - } +@@ -4140,7 +4144,7 @@ int brcmf_sdio_get_fwname(struct device + fwreq = brcmf_fw_alloc_request(bus_if->chip, bus_if->chiprev, brcmf_sdio_fwnames, - ARRAY_SIZE(brcmf_sdio_fwnames), @@ -126,7 +120,7 @@ index 89de65d32ed5..88c08fee58f6 100644 fwnames, ARRAY_SIZE(fwnames)); if (!fwreq) return -ENOMEM; -@@ -4207,6 +4211,9 @@ static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { +@@ -4196,6 +4200,9 @@ static const struct brcmf_bus_ops brcmf_ #define BRCMF_SDIO_FW_CODE 0 #define BRCMF_SDIO_FW_NVRAM 1 @@ -136,7 +130,7 @@ index 89de65d32ed5..88c08fee58f6 100644 static void brcmf_sdio_firmware_callback(struct device *dev, int err, struct brcmf_fw_request *fwreq) { -@@ -4222,6 +4229,22 @@ static void brcmf_sdio_firmware_callback(struct device *dev, int err, +@@ -4211,6 +4218,22 @@ static void brcmf_sdio_firmware_callback brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err); @@ -159,7 +153,7 @@ index 89de65d32ed5..88c08fee58f6 100644 if (err) goto fail; -@@ -4430,7 +4453,7 @@ brcmf_sdio_prepare_fw_request(struct brcmf_sdio *bus) +@@ -4419,7 +4442,7 @@ brcmf_sdio_prepare_fw_request(struct brc fwreq = brcmf_fw_alloc_request(bus->ci->chip, bus->ci->chiprev, brcmf_sdio_fwnames, @@ -168,7 +162,7 @@ index 89de65d32ed5..88c08fee58f6 100644 fwnames, ARRAY_SIZE(fwnames)); if (!fwreq) return NULL; -@@ -4448,6 +4471,9 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) +@@ -4437,6 +4460,9 @@ struct brcmf_sdio *brcmf_sdio_probe(stru struct brcmf_sdio *bus; struct workqueue_struct *wq; struct brcmf_fw_request *fwreq; @@ -178,7 +172,7 @@ index 89de65d32ed5..88c08fee58f6 100644 brcmf_dbg(TRACE, "Enter\n"); -@@ -4530,6 +4556,21 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) +@@ -4519,6 +4545,21 @@ struct brcmf_sdio *brcmf_sdio_probe(stru brcmf_dbg(INFO, "completed!!\n"); @@ -200,6 +194,3 @@ index 89de65d32ed5..88c08fee58f6 100644 fwreq = brcmf_sdio_prepare_fw_request(bus); if (!fwreq) { ret = -ENOMEM; --- -2.30.2 - diff --git a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch index 19a60d7956..089ff2117b 100644 --- a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch +++ b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch @@ -1,6 +1,6 @@ --- a/local-symbols +++ b/local-symbols -@@ -428,43 +428,6 @@ USB_VL600= +@@ -451,43 +451,6 @@ USB_VL600= USB_NET_CH9200= USB_NET_AQC111= USB_RTL8153_ECM= @@ -192,7 +192,7 @@ select BRCMUTIL --- a/Kconfig.local +++ b/Kconfig.local -@@ -1288,117 +1288,6 @@ config BACKPORTED_USB_NET_AQC111 +@@ -1357,117 +1357,6 @@ config BACKPORTED_USB_NET_AQC111 config BACKPORTED_USB_RTL8153_ECM tristate default USB_RTL8153_ECM @@ -312,7 +312,7 @@ default USB_ACM --- a/Kconfig.sources +++ b/Kconfig.sources -@@ -9,9 +9,6 @@ source "$BACKPORT_DIR/drivers/bus/mhi/Kc +@@ -10,9 +10,6 @@ source "$BACKPORT_DIR/drivers/soc/qcom/K source "$BACKPORT_DIR/drivers/net/wireless/Kconfig" source "$BACKPORT_DIR/drivers/net/usb/Kconfig" @@ -324,8 +324,8 @@ source "$BACKPORT_DIR/drivers/staging/Kconfig" --- a/Makefile.kernel +++ b/Makefile.kernel -@@ -42,8 +42,6 @@ obj-$(CPTCFG_MAC80211) += net/mac80211/ - obj-$(CPTCFG_QRTR) += net/qrtr/ +@@ -43,8 +43,6 @@ obj-$(CPTCFG_QRTR) += net/qrtr/ + obj-$(CPTCFG_QCOM_QMI_HELPERS) += drivers/soc/qcom/ obj-$(CPTCFG_MHI_BUS) += drivers/bus/mhi/ obj-$(CPTCFG_WLAN) += drivers/net/wireless/ -obj-$(CPTCFG_SSB) += drivers/ssb/ diff --git a/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch b/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch index 0b9f552f95..4115eeccbb 100644 --- a/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch +++ b/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch @@ -19,28 +19,23 @@ the card-specific structure. drivers/net/wireless/marvell/mwifiex/decl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/net/wireless/marvell/mwifiex/decl.h b/drivers/net/wireless/marvell/mwifiex/decl.h -index cdc9972..f9bcbf5 100644 --- a/drivers/net/wireless/marvell/mwifiex/decl.h +++ b/drivers/net/wireless/marvell/mwifiex/decl.h @@ -30,7 +30,7 @@ #include - + #define MWIFIEX_BSS_COEX_COUNT 2 -#define MWIFIEX_MAX_BSS_NUM (3) +#define MWIFIEX_MAX_BSS_NUM (4) - + #define MWIFIEX_DMA_ALIGN_SZ 64 #define MWIFIEX_RX_HEADROOM 64 @@ -112,7 +112,7 @@ #define MWIFIEX_RATE_INDEX_OFDM0 4 - + #define MWIFIEX_MAX_STA_NUM 3 -#define MWIFIEX_MAX_UAP_NUM 3 +#define MWIFIEX_MAX_UAP_NUM 4 #define MWIFIEX_MAX_P2P_NUM 3 - + #define MWIFIEX_A_BAND_START_FREQ 5000 --- -2.30.2 - diff --git a/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch b/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch index 17e7df2722..8fa3924e60 100644 --- a/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch +++ b/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch @@ -17,8 +17,6 @@ Signed-off-by: Pali Rohár .../net/wireless/marvell/mwifiex/uap_cmd.c | 3 +- 4 files changed, 95 insertions(+), 11 deletions(-) -diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wireless/marvell/mwifiex/cmdevt.c -index 5a2788955f1c..1b05002330ff 100644 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c @@ -28,6 +28,85 @@ @@ -107,7 +105,7 @@ index 5a2788955f1c..1b05002330ff 100644 /* * This function initializes a command node. * -@@ -205,8 +284,8 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv, +@@ -205,8 +284,8 @@ static int mwifiex_dnld_cmd_to_fw(struct cmd_code != HostCmd_CMD_FUNC_SHUTDOWN && cmd_code != HostCmd_CMD_FUNC_INIT) { mwifiex_dbg(adapter, ERROR, @@ -118,7 +116,7 @@ index 5a2788955f1c..1b05002330ff 100644 mwifiex_recycle_cmd_node(adapter, cmd_node); queue_work(adapter->workqueue, &adapter->main_work); return -1; -@@ -660,8 +739,8 @@ int mwifiex_send_cmd(struct mwifiex_private *priv, u16 cmd_no, +@@ -660,8 +739,8 @@ int mwifiex_send_cmd(struct mwifiex_priv /* Return error, since the command preparation failed */ if (ret) { mwifiex_dbg(adapter, ERROR, @@ -129,7 +127,7 @@ index 5a2788955f1c..1b05002330ff 100644 mwifiex_insert_cmd_to_free_q(adapter, cmd_node); return -1; } -@@ -900,8 +979,9 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter) +@@ -900,8 +979,9 @@ int mwifiex_process_cmdresp(struct mwifi if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING) { if (ret) { mwifiex_dbg(adapter, ERROR, @@ -139,9 +137,9 @@ index 5a2788955f1c..1b05002330ff 100644 + "initialization\n", __func__, + mwifiex_cmd_to_str(cmdresp_no), cmdresp_no); mwifiex_init_fw_complete(adapter); - //if (adapter->if_ops.card_reset) - // adapter->if_ops.card_reset(adapter); -@@ -1266,8 +1346,8 @@ mwifiex_process_sleep_confirm_resp(struct mwifiex_adapter *adapter, + return -1; + } else if (adapter->last_init_cmd == cmdresp_no) +@@ -1264,8 +1344,8 @@ mwifiex_process_sleep_confirm_resp(struc if (command != HostCmd_CMD_802_11_PS_MODE_ENH) { mwifiex_dbg(adapter, ERROR, @@ -152,11 +150,9 @@ index 5a2788955f1c..1b05002330ff 100644 return; } -diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h -index 5923c5c14c8d..0d30f61a9d3c 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.h +++ b/drivers/net/wireless/marvell/mwifiex/main.h -@@ -1106,6 +1106,8 @@ void mwifiex_cancel_all_pending_cmd(struct mwifiex_adapter *adapter); +@@ -1106,6 +1106,8 @@ void mwifiex_cancel_all_pending_cmd(stru void mwifiex_cancel_pending_scan_cmd(struct mwifiex_adapter *adapter); void mwifiex_cancel_scan(struct mwifiex_adapter *adapter); @@ -165,11 +161,9 @@ index 5923c5c14c8d..0d30f61a9d3c 100644 void mwifiex_recycle_cmd_node(struct mwifiex_adapter *adapter, struct cmd_ctrl_node *cmd_node); -diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c -index 6b5d35d9e69f..ae6554f7b583 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c -@@ -48,8 +48,9 @@ mwifiex_process_cmdresp_error(struct mwifiex_private *priv, +@@ -48,8 +48,9 @@ mwifiex_process_cmdresp_error(struct mwi struct host_cmd_ds_802_11_ps_mode_enh *pm; mwifiex_dbg(adapter, ERROR, @@ -181,11 +175,9 @@ index 6b5d35d9e69f..ae6554f7b583 100644 if (adapter->curr_cmd->wait_q_enabled) adapter->cmd_wait_q.status = -1; -diff --git a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c -index 18e89777b784..29b8af55f522 100644 --- a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c +++ b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c -@@ -806,7 +806,8 @@ int mwifiex_uap_prepare_cmd(struct mwifiex_private *priv, u16 cmd_no, +@@ -806,7 +806,8 @@ int mwifiex_uap_prepare_cmd(struct mwifi break; default: mwifiex_dbg(priv->adapter, ERROR, @@ -195,6 +187,3 @@ index 18e89777b784..29b8af55f522 100644 return -1; } --- -2.20.1 - diff --git a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch index afe8cea205..bd33b2efbd 100644 --- a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch +++ b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch @@ -1,6 +1,6 @@ --- a/local-symbols +++ b/local-symbols -@@ -322,6 +322,7 @@ RT2X00_LIB_FIRMWARE= +@@ -345,6 +345,7 @@ RT2X00_LIB_FIRMWARE= RT2X00_LIB_CRYPTO= RT2X00_LIB_LEDS= RT2X00_LIB_DEBUGFS= diff --git a/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch b/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch index 777c93cb90..1ceb2be25c 100644 --- a/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch +++ b/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch @@ -52,7 +52,7 @@ Signed-off-by: Xing Song --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -2949,6 +2949,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 +@@ -2948,6 +2948,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 if (!fwd_skb) goto out; diff --git a/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch b/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch index c534d1570a..fba0912e80 100644 --- a/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch +++ b/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c -@@ -3001,15 +3001,19 @@ static void mac80211_hwsim_he_capab(stru +@@ -3004,15 +3004,19 @@ static void mac80211_hwsim_he_capab(stru { u16 n_iftype_data; @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau return; } -@@ -3299,6 +3303,12 @@ static int mac80211_hwsim_new_radio(stru +@@ -3302,6 +3306,12 @@ static int mac80211_hwsim_new_radio(stru sband->vht_cap.vht_mcs.tx_mcs_map = sband->vht_cap.vht_mcs.rx_mcs_map; break; @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau case NL80211_BAND_S1GHZ: memcpy(&sband->s1g_cap, &hwsim_s1g_cap, sizeof(sband->s1g_cap)); -@@ -3309,6 +3319,13 @@ static int mac80211_hwsim_new_radio(stru +@@ -3312,6 +3322,13 @@ static int mac80211_hwsim_new_radio(stru continue; } @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau sband->ht_cap.ht_supported = true; sband->ht_cap.cap = IEEE80211_HT_CAP_SUP_WIDTH_20_40 | IEEE80211_HT_CAP_GRN_FLD | -@@ -3322,10 +3339,6 @@ static int mac80211_hwsim_new_radio(stru +@@ -3325,10 +3342,6 @@ static int mac80211_hwsim_new_radio(stru sband->ht_cap.mcs.rx_mask[0] = 0xff; sband->ht_cap.mcs.rx_mask[1] = 0xff; sband->ht_cap.mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED; diff --git a/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch b/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch index 272d84f35e..4b9d874cfe 100644 --- a/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch +++ b/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch @@ -69,7 +69,7 @@ Signed-off-by: Johannes Berg #endif /* __MAC80211_DRIVER_OPS */ --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -1485,7 +1485,7 @@ struct ieee80211_local { +@@ -1490,7 +1490,7 @@ struct ieee80211_local { }; static inline struct ieee80211_sub_if_data * diff --git a/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch b/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch index 16bcbc2ef9..3be43b8782 100644 --- a/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch +++ b/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rc80211_minstrel_ht.c +++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -700,7 +700,8 @@ minstrel_ht_calc_rate_stats(struct minst +@@ -703,7 +703,8 @@ minstrel_ht_calc_rate_stats(struct minst unsigned int cur_prob; if (unlikely(mrs->attempts > 0)) { diff --git a/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch b/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch index a6817bd4a6..13bed48ec6 100644 --- a/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch +++ b/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rc80211_minstrel_ht.c +++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -511,6 +511,14 @@ minstrel_ht_set_best_prob_rate(struct mi +@@ -514,6 +514,14 @@ minstrel_ht_set_best_prob_rate(struct mi int cur_tp_avg, cur_group, cur_idx; int max_gpr_group, max_gpr_idx; int max_gpr_tp_avg, max_gpr_prob; @@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau cur_group = MI_RATE_GROUP(index); cur_idx = MI_RATE_IDX(index); -@@ -532,11 +540,6 @@ minstrel_ht_set_best_prob_rate(struct mi +@@ -535,11 +543,6 @@ minstrel_ht_set_best_prob_rate(struct mi !minstrel_ht_is_legacy_group(max_tp_group)) return; @@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau max_gpr_group = MI_RATE_GROUP(mg->max_group_prob_rate); max_gpr_idx = MI_RATE_IDX(mg->max_group_prob_rate); max_gpr_prob = mi->groups[max_gpr_group].rates[max_gpr_idx].prob_avg; -@@ -594,40 +597,6 @@ minstrel_ht_assign_best_tp_rates(struct +@@ -597,40 +600,6 @@ minstrel_ht_assign_best_tp_rates(struct } @@ -86,7 +86,7 @@ Signed-off-by: Felix Fietkau static u16 __minstrel_ht_get_sample_rate(struct minstrel_ht_sta *mi, enum minstrel_sample_type type) -@@ -1107,8 +1076,6 @@ minstrel_ht_update_stats(struct minstrel +@@ -1110,8 +1079,6 @@ minstrel_ht_update_stats(struct minstrel mi->max_prob_rate = tmp_max_prob_rate; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau minstrel_ht_refill_sample_rates(mi); #ifdef CPTCFG_MAC80211_DEBUGFS -@@ -1153,7 +1120,7 @@ minstrel_ht_txstat_valid(struct minstrel +@@ -1156,7 +1123,7 @@ minstrel_ht_txstat_valid(struct minstrel } static void @@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau { int group, orig_group; -@@ -1168,11 +1135,7 @@ minstrel_downgrade_rate(struct minstrel_ +@@ -1171,11 +1138,7 @@ minstrel_downgrade_rate(struct minstrel_ minstrel_mcs_groups[orig_group].streams) continue; @@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau } } -@@ -1183,7 +1146,7 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1186,7 +1149,7 @@ minstrel_ht_tx_status(void *priv, struct struct ieee80211_tx_info *info = st->info; struct minstrel_ht_sta *mi = priv_sta; struct ieee80211_tx_rate *ar = info->status.rates; @@ -126,7 +126,7 @@ Signed-off-by: Felix Fietkau struct minstrel_priv *mp = priv; u32 update_interval = mp->update_interval; bool last, update = false; -@@ -1233,18 +1196,13 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1236,18 +1199,13 @@ minstrel_ht_tx_status(void *priv, struct /* * check for sudden death of spatial multiplexing, * downgrade to a lower number of streams if necessary. diff --git a/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch b/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch index 4fc8b592c2..429886d701 100644 --- a/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch +++ b/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch @@ -238,7 +238,7 @@ Signed-off-by: Johannes Berg static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = { [0] = { .strict_start_type = NL80211_ATTR_HE_OBSS_PD }, [NL80211_ATTR_WIPHY] = { .type = NLA_U32 }, -@@ -783,6 +793,9 @@ static const struct nla_policy nl80211_p +@@ -788,6 +798,9 @@ static const struct nla_policy nl80211_p [NL80211_ATTR_COLOR_CHANGE_COUNT] = { .type = NLA_U8 }, [NL80211_ATTR_COLOR_CHANGE_COLOR] = { .type = NLA_U8 }, [NL80211_ATTR_COLOR_CHANGE_ELEMS] = NLA_POLICY_NESTED(nl80211_policy), @@ -248,7 +248,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -2231,6 +2244,35 @@ fail: +@@ -2236,6 +2249,35 @@ fail: return -ENOBUFS; } @@ -284,7 +284,7 @@ Signed-off-by: Johannes Berg struct nl80211_dump_wiphy_state { s64 filter_wiphy; long start; -@@ -2816,6 +2858,9 @@ static int nl80211_send_wiphy(struct cfg +@@ -2821,6 +2863,9 @@ static int nl80211_send_wiphy(struct cfg if (nl80211_put_sar_specs(rdev, msg)) goto nla_put_failure; @@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg /* done */ state->split_start = 0; break; -@@ -5005,6 +5050,96 @@ static int validate_beacon_tx_rate(struc +@@ -5020,6 +5065,96 @@ static int validate_beacon_tx_rate(struc return 0; } @@ -391,7 +391,7 @@ Signed-off-by: Johannes Berg static int nl80211_parse_beacon(struct cfg80211_registered_device *rdev, struct nlattr *attrs[], struct cfg80211_beacon_data *bcn) -@@ -5085,6 +5220,17 @@ static int nl80211_parse_beacon(struct c +@@ -5100,6 +5235,17 @@ static int nl80211_parse_beacon(struct c bcn->ftm_responder = -1; } @@ -409,7 +409,7 @@ Signed-off-by: Johannes Berg return 0; } -@@ -5541,6 +5687,17 @@ static int nl80211_start_ap(struct sk_bu +@@ -5556,6 +5702,17 @@ static int nl80211_start_ap(struct sk_bu goto out; } @@ -427,7 +427,7 @@ Signed-off-by: Johannes Berg nl80211_calculate_ap_params(¶ms); if (info->attrs[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT]) -@@ -5562,6 +5719,11 @@ static int nl80211_start_ap(struct sk_bu +@@ -5577,6 +5734,11 @@ static int nl80211_start_ap(struct sk_bu out: kfree(params.acl); @@ -439,7 +439,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -5586,12 +5748,14 @@ static int nl80211_set_beacon(struct sk_ +@@ -5601,12 +5763,14 @@ static int nl80211_set_beacon(struct sk_ err = nl80211_parse_beacon(rdev, info->attrs, ¶ms); if (err) @@ -455,7 +455,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -9268,12 +9432,14 @@ static int nl80211_channel_switch(struct +@@ -9283,12 +9447,14 @@ static int nl80211_channel_switch(struct err = nl80211_parse_beacon(rdev, info->attrs, ¶ms.beacon_after); if (err) @@ -473,7 +473,7 @@ Signed-off-by: Johannes Berg err = nla_parse_nested_deprecated(csa_attrs, NL80211_ATTR_MAX, info->attrs[NL80211_ATTR_CSA_IES], -@@ -9392,6 +9558,8 @@ skip_beacons: +@@ -9407,6 +9573,8 @@ skip_beacons: wdev_unlock(wdev); free: @@ -482,7 +482,7 @@ Signed-off-by: Johannes Berg kfree(csa_attrs); return err; } -@@ -14939,6 +15107,8 @@ static int nl80211_color_change(struct s +@@ -14959,6 +15127,8 @@ static int nl80211_color_change(struct s wdev_unlock(wdev); out: diff --git a/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch b/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch index 90c56b4e43..2038ee69db 100644 --- a/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch +++ b/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch @@ -286,7 +286,7 @@ Signed-off-by: Johannes Berg +} --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -796,6 +796,7 @@ static const struct nla_policy nl80211_p +@@ -801,6 +801,7 @@ static const struct nla_policy nl80211_p [NL80211_ATTR_MBSSID_CONFIG] = NLA_POLICY_NESTED(nl80211_mbssid_config_policy), [NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED }, @@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -9272,12 +9273,6 @@ static int nl80211_start_radar_detection +@@ -9287,12 +9288,6 @@ static int nl80211_start_radar_detection if (err) return err; @@ -307,7 +307,7 @@ Signed-off-by: Johannes Berg err = cfg80211_chandef_dfs_required(wiphy, &chandef, wdev->iftype); if (err < 0) return err; -@@ -9288,6 +9283,16 @@ static int nl80211_start_radar_detection +@@ -9303,6 +9298,16 @@ static int nl80211_start_radar_detection if (!cfg80211_chandef_dfs_usable(wiphy, &chandef)) return -EINVAL; diff --git a/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch b/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch index 567743d84d..a1b6e3c80d 100644 --- a/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch +++ b/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch @@ -118,7 +118,7 @@ Signed-off-by: Johannes Berg NL80211_RADAR_CAC_ABORTED); --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -9263,42 +9263,60 @@ static int nl80211_start_radar_detection +@@ -9278,42 +9278,60 @@ static int nl80211_start_radar_detection struct cfg80211_chan_def chandef; enum nl80211_dfs_regions dfs_region; unsigned int cac_time_ms; @@ -198,7 +198,7 @@ Signed-off-by: Johannes Berg cac_time_ms = cfg80211_chandef_dfs_cac_time(&rdev->wiphy, &chandef); if (WARN_ON(!cac_time_ms)) -@@ -9311,6 +9329,9 @@ static int nl80211_start_radar_detection +@@ -9326,6 +9344,9 @@ static int nl80211_start_radar_detection wdev->cac_start_time = jiffies; wdev->cac_time_ms = cac_time_ms; } @@ -208,7 +208,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -15941,7 +15962,8 @@ static const struct genl_small_ops nl802 +@@ -15961,7 +15982,8 @@ static const struct genl_small_ops nl802 .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_start_radar_detection, .flags = GENL_UNS_ADMIN_PERM, diff --git a/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch b/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch index c3a4c0db25..483b87cd88 100644 --- a/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch +++ b/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch @@ -472,7 +472,7 @@ Signed-off-by: Johannes Berg } --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -796,7 +796,7 @@ static const struct nla_policy nl80211_p +@@ -801,7 +801,7 @@ static const struct nla_policy nl80211_p [NL80211_ATTR_MBSSID_CONFIG] = NLA_POLICY_NESTED(nl80211_mbssid_config_policy), [NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED }, @@ -481,7 +481,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -9291,9 +9291,9 @@ static int nl80211_start_radar_detection +@@ -9306,9 +9306,9 @@ static int nl80211_start_radar_detection goto unlock; } diff --git a/package/kernel/mac80211/patches/subsys/329-mac80211-minstrel_ht-fix-where-rate-stats-are-stored.patch b/package/kernel/mac80211/patches/subsys/329-mac80211-minstrel_ht-fix-where-rate-stats-are-stored.patch deleted file mode 100644 index d7832acce5..0000000000 --- a/package/kernel/mac80211/patches/subsys/329-mac80211-minstrel_ht-fix-where-rate-stats-are-stored.patch +++ /dev/null @@ -1,61 +0,0 @@ -From: Peter Seiderer -Date: Mon, 4 Apr 2022 18:54:14 +0200 -Subject: [PATCH] mac80211: minstrel_ht: fix where rate stats are stored (fixes - debugfs output) - -Using an ath9k card the debugfs output of minstrel_ht looks like the following -(note the zero values for the first four rates sum-of success/attempts): - - best ____________rate__________ ____statistics___ _____last____ ______sum-of________ -mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts] -OFDM 1 DP 6.0M 272 1640 5.2 3.1 53.8 3 0 0 0 0 -OFDM 1 C 9.0M 273 1104 7.7 4.6 53.8 4 0 0 0 0 -OFDM 1 B 12.0M 274 836 10.0 6.0 53.8 4 0 0 0 0 -OFDM 1 A S 18.0M 275 568 14.3 8.5 53.8 5 0 0 0 0 -OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 5 0 1 80 1778 -OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 107 -OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 75 -OFDM 1 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 72 - -Total packet count:: ideal 16582 lookaround 885 -Average # of aggregated frames per A-MPDU: 1.0 - -Debugging showed that the rate statistics for the first four rates where -stored in the MINSTREL_CCK_GROUP instead of the MINSTREL_OFDM_GROUP because -in minstrel_ht_get_stats() the supported check was not honoured as done in -various other places, e.g net/mac80211/rc80211_minstrel_ht_debugfs.c: - - 74 if (!(mi->supported[i] & BIT(j))) - 75 continue; - -With the patch applied the output looks good: - - best ____________rate__________ ____statistics___ _____last____ ______sum-of________ -mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts] -OFDM 1 D 6.0M 272 1640 5.2 5.2 100.0 3 0 0 1 1 -OFDM 1 C 9.0M 273 1104 7.7 7.7 100.0 4 0 0 38 38 -OFDM 1 B 12.0M 274 836 10.0 9.9 89.5 4 2 2 372 395 -OFDM 1 A P 18.0M 275 568 14.3 14.3 97.2 5 52 53 6956 7181 -OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 0 0 1 6 163 -OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 35 -OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 38 -OFDM 1 S 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 38 - -Total packet count:: ideal 7097 lookaround 287 -Average # of aggregated frames per A-MPDU: 1.0 - -Signed-off-by: Peter Seiderer ---- - ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -364,6 +364,9 @@ minstrel_ht_get_stats(struct minstrel_pr - - group = MINSTREL_CCK_GROUP; - for (idx = 0; idx < ARRAY_SIZE(mp->cck_rates); idx++) { -+ if (!(mi->supported[group] & BIT(idx))) -+ continue; -+ - if (rate->idx != mp->cck_rates[idx]) - continue; - diff --git a/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch b/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch index 1a66aa8c00..0ca53860a5 100644 --- a/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch +++ b/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch @@ -359,7 +359,7 @@ Signed-off-by: Felix Fietkau struct work_struct csa_finalize_work; bool csa_block_tx; /* write-protected by sdata_lock and local->mtx */ struct cfg80211_chan_def csa_chandef; -@@ -1180,44 +1182,6 @@ enum mac80211_scan_state { +@@ -1185,44 +1187,6 @@ enum mac80211_scan_state { SCAN_ABORT, }; @@ -404,7 +404,7 @@ Signed-off-by: Felix Fietkau DECLARE_STATIC_KEY_FALSE(aql_disable); struct ieee80211_local { -@@ -1231,8 +1195,13 @@ struct ieee80211_local { +@@ -1236,8 +1200,13 @@ struct ieee80211_local { struct codel_params cparams; /* protects active_txqs and txqi->schedule_order */ @@ -419,7 +419,7 @@ Signed-off-by: Felix Fietkau u32 aql_threshold; atomic_t aql_total_pending_airtime; -@@ -1649,125 +1618,6 @@ static inline bool txq_has_queue(struct +@@ -1654,125 +1623,6 @@ static inline bool txq_has_queue(struct return !(skb_queue_empty(&txqi->frags) && !txqi->tin.backlog_packets); } @@ -545,7 +545,7 @@ Signed-off-by: Felix Fietkau static inline int ieee80211_bssid_match(const u8 *raddr, const u8 *addr) { return ether_addr_equal(raddr, addr) || -@@ -2013,14 +1863,6 @@ int ieee80211_tx_control_port(struct wip +@@ -2018,14 +1868,6 @@ int ieee80211_tx_control_port(struct wip u64 *cookie); int ieee80211_probe_mesh_link(struct wiphy *wiphy, struct net_device *dev, const u8 *buf, size_t len); @@ -594,7 +594,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -1584,8 +1584,12 @@ static void sta_ps_start(struct sta_info +@@ -1583,8 +1583,12 @@ static void sta_ps_start(struct sta_info for (tid = 0; tid < IEEE80211_NUM_TIDS; tid++) { struct ieee80211_txq *txq = sta->sta.txq[tid]; diff --git a/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch b/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch index 89718a8273..42e1671ed6 100644 --- a/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch +++ b/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -1211,6 +1211,7 @@ struct ieee80211_local { +@@ -1216,6 +1216,7 @@ struct ieee80211_local { u32 aql_txq_limit_high[IEEE80211_NUM_ACS]; u32 aql_threshold; atomic_t aql_total_pending_airtime; diff --git a/package/kernel/mac80211/patches/subsys/338-mac80211-fix-queue-selection-for-mesh-OCB-interfaces.patch b/package/kernel/mac80211/patches/subsys/338-mac80211-fix-queue-selection-for-mesh-OCB-interfaces.patch deleted file mode 100644 index 9547db03d1..0000000000 --- a/package/kernel/mac80211/patches/subsys/338-mac80211-fix-queue-selection-for-mesh-OCB-interfaces.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Felix Fietkau -Date: Sat, 2 Jul 2022 16:41:32 +0200 -Subject: [PATCH] mac80211: fix queue selection for mesh/OCB interfaces - -When using iTXQ, the code assumes that there is only one vif queue for -broadcast packets, using the BE queue. Allowing non-BE queue marking -violates that assumption and txq->ac == skb_queue_mapping is no longer -guaranteed. This can cause issues with queue handling in the driver and -also causes issues with the recent ATF change, resulting in an AQL -underflow warning. - -Cc: stable@vger.kernel.org -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/wme.c -+++ b/net/mac80211/wme.c -@@ -147,8 +147,8 @@ u16 __ieee80211_select_queue(struct ieee - bool qos; - - /* all mesh/ocb stations are required to support WME */ -- if (sdata->vif.type == NL80211_IFTYPE_MESH_POINT || -- sdata->vif.type == NL80211_IFTYPE_OCB) -+ if (sta && (sdata->vif.type == NL80211_IFTYPE_MESH_POINT || -+ sdata->vif.type == NL80211_IFTYPE_OCB)) - qos = true; - else if (sta) - qos = sta->sta.wme; diff --git a/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch b/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch index d2a43304bd..1e3486accd 100644 --- a/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch +++ b/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch @@ -56,7 +56,7 @@ Signed-off-by: Johannes Berg --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -3181,6 +3181,49 @@ static void ieee80211_process_sa_query_r +@@ -3180,6 +3180,49 @@ static void ieee80211_process_sa_query_r ieee80211_tx_skb(sdata, skb); } @@ -106,7 +106,7 @@ Signed-off-by: Johannes Berg static ieee80211_rx_result debug_noinline ieee80211_rx_h_mgmt_check(struct ieee80211_rx_data *rx) { -@@ -3206,6 +3249,9 @@ ieee80211_rx_h_mgmt_check(struct ieee802 +@@ -3205,6 +3248,9 @@ ieee80211_rx_h_mgmt_check(struct ieee802 !(rx->flags & IEEE80211_RX_BEACON_REPORTED)) { int sig = 0; diff --git a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch index 171af5ee56..50c24a7746 100644 --- a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch +++ b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch @@ -87,7 +87,7 @@ CFG80211_TESTMODE_DUMP(ieee80211_testmode_dump) --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -1441,6 +1441,7 @@ struct ieee80211_local { +@@ -1448,6 +1448,7 @@ struct ieee80211_local { int dynamic_ps_forced_timeout; int user_power_level; /* in dBm, for all interfaces */ @@ -129,7 +129,7 @@ local->hw.max_mtu = IEEE80211_MAX_DATA_LEN; --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -797,6 +797,7 @@ static const struct nla_policy nl80211_p +@@ -802,6 +802,7 @@ static const struct nla_policy nl80211_p NLA_POLICY_NESTED(nl80211_mbssid_config_policy), [NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED }, [NL80211_ATTR_RADAR_BACKGROUND] = { .type = NLA_FLAG }, @@ -137,7 +137,7 @@ }; /* policy for the key attributes */ -@@ -3377,6 +3378,22 @@ static int nl80211_set_wiphy(struct sk_b +@@ -3391,6 +3392,22 @@ static int nl80211_set_wiphy(struct sk_b if (result) goto out; } -- 2.30.2