[openwrt/openwrt] mac80211: Update to version 6.1.145-1

LEDE Commits lede-commits at lists.infradead.org
Wed Jul 16 10:49:06 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-23.05:
https://git.openwrt.org/50243ef2d81cf6e362415c62d413ebe38bfb8184

commit 50243ef2d81cf6e362415c62d413ebe38bfb8184
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sat Nov 16 00:08:28 2024 +0100

    mac80211: Update to version 6.1.145-1
    
    This updates mac80211 to version 6.1.145-1. This code is based on Linux
    6.1.145 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 were applied upstream.
    
    Link: https://github.com/openwrt/openwrt/pull/16948
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 package/kernel/mac80211/Makefile                   |   6 +-
 .../patches/ath/404-regd_no_assoc_hints.patch      |   4 +-
 .../431-add_platform_eeprom_support_to_ath5k.patch |   6 +-
 ...-controlling-support-for-various-chipsets.patch |  14 +-
 ...-stop-tx-queues-immediately-upon-firmware.patch |   8 +-
 ...-add-support-to-configure-channel-dwell-t.patch |   2 +-
 ...-fix-monitor-vdev-creation-with-firmware-.patch |   2 +-
 ...h11k-update-ce-configurations-for-IPQ5018.patch |   2 +-
 ...th11k-remap-ce-register-space-for-IPQ5018.patch |   2 +-
 ...-Add-support-to-configure-FTM-responder-r.patch |   2 +-
 ...-Add-tx-ack-signal-support-for-management.patch |   2 +-
 ...-fix-BUFFER_DONE-read-on-monitor-ring-rx-.patch |   2 +-
 ...-Configure-the-FTM-responder-role-using-f.patch |   2 +-
 ...-fix-rssi-station-dump-not-updated-in-QCN.patch |   4 +-
 ...-print-a-warning-when-crypto_alloc_shash-.patch |   2 +-
 ...k-fix-undefined-behavior-with-__fls-in-dp.patch |   2 +-
 ...k-Fix-incorrect-update-of-radiotap-fields.patch |   4 +-
 ...ath11k-driver-settings-for-MBSSID-and-EMA.patch |   4 +-
 ...-remove-unused-function-ath11k_tm_event_w.patch | 128 ----------------
 ...082-wifi-ath11k-factory-test-mode-support.patch |  18 +--
 ...-Allow-ath11k-to-boot-without-caldata-in-.patch |   2 +-
 ...th11k-Split-coldboot-calibration-hw_param.patch |   8 +-
 ...-Add-coldboot-calibration-support-for-QCN.patch |   2 +-
 ...ath11k-Remove-cal_done-check-during-probe.patch |   2 +-
 ...-add-chip-id-board-name-while-searching-b.patch |  16 +-
 ...11k-support-setting-FW-memory-mode-via-DT.patch |   4 +-
 .../patches/ath5k/432-ath5k_add_pciids.patch       |  11 --
 .../ath9k/410-ath9k_allow_adhoc_and_ap.patch       |   2 +-
 ...9k-enabled-MFP-capability-unconditionally.patch |   4 +-
 .../patches/ath9k/500-ath9k_eeprom_debugfs.patch   |   2 +-
 .../patches/ath9k/501-ath9k_ahb_init.patch         |   2 +-
 .../ath9k/512-ath9k_channelbw_debugfs.patch        |   2 +-
 .../patches/ath9k/530-ath9k_extra_leds.patch       |   4 +-
 .../patches/ath9k/542-ath9k_debugfs_diag.patch     |   2 +-
 .../patches/ath9k/543-ath9k_entropy_from_adc.patch |   6 +-
 .../patches/ath9k/553-ath9k_of_gpio_mask.patch     |   4 +-
 ...c-add-in-driver-tables-with-country-codes.patch |   4 +-
 ...c-Read-alternative-firmware-names-from-DT.patch |   2 +-
 .../build/070-remove-broken-wext-select.patch      |   2 +-
 ...ticast_allns-build-error-on-kernel-6.6.59.patch | 169 ---------------------
 ...andle-genlmsg_multicast_allns-upstream-ba.patch |   4 +-
 .../mac80211/patches/subsys/210-ap_scan.patch      |   2 +-
 ...11-add-internal-handler-for-wake_tx_queue.patch |  14 +-
 ...211-add-wake_tx_queue-callback-to-drivers.patch |   8 +-
 ...fi-mac80211-Drop-support-for-TX-push-path.patch |  28 ++--
 ...i-realtek-remove-duplicated-wake_tx_queue.patch |   2 +-
 ...d-support-for-restricting-netdev-features.patch |   6 +-
 .../319-wifi-mac80211-mesh-fast-xmit-support.patch |  16 +-
 ...11-use-mesh-header-cache-to-speed-up-mesh.patch |   2 +-
 ...11-introduce-ieee80211_refresh_tx_agg_ses.patch |   2 +-
 ...26-wifi-mac80211-add-mesh-fast-rx-support.patch |   8 +-
 ...11-add-support-for-letting-drivers-regist.patch |  10 +-
 ...wlwifi-mvm-support-flush-on-AP-interfaces.patch |   4 +-
 .../333-wifi-mac80211-add-flush_sta-method.patch   |   4 +-
 ...-iwlwifi-mvm-support-new-flush_sta-method.patch |   4 +-
 ...-mac80211-generate-EMA-beacons-in-AP-mode.patch |  12 +-
 ...low-grace-period-for-DFS-available-after-.patch |   2 +-
 ...date-Transition-Disable-policy-during-por.patch |  14 +-
 ...-support-minimal-EHT-rate-reporting-on-RX.patch |  12 +-
 ...c80211-mlme-handle-EHT-channel-puncturing.patch |  16 +-
 ...11-move-puncturing-bitmap-validation-from.patch |   4 +-
 ...1-validate-and-configure-puncturing-bitma.patch |   4 +-
 ...11-include-puncturing-bitmap-in-channel-s.patch |  16 +-
 ...wifi-mac80211-configure-puncturing-bitmap.patch |   8 +-
 ...-wifi-mac80211-warn-only-once-on-AP-probe.patch |   2 +-
 ...347-v6.5-wifi-mac80211-HW-restart-for-MLO.patch |   8 +-
 ...c80211-implement-proper-AP-MLD-HW-restart.patch |   4 +-
 ...11-Add-getter-functions-for-vif-MLD-state.patch |  52 +++----
 .../500-mac80211_configure_antenna_gain.patch      |  12 +-
 69 files changed, 219 insertions(+), 527 deletions(-)

diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index d5877787d5..ec0f5805cf 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -10,13 +10,13 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=6.1.110-1
+PKG_VERSION:=6.1.145-1
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING
 
-PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v6.1.110/
-PKG_HASH:=2415bc529ca25be0aa597f9638d8b6fc4138080bbaea96881a38101896df6703
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v6.1.145/
+PKG_HASH:=05f2c39f1be0aab49014a6e27a9492ce7ed0491f552db8a07f3ba0de33b9317d
 
 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
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 bc750d5e11..ebc3f25552 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
-@@ -3373,6 +3373,8 @@ void regulatory_hint_country_ie(struct w
+@@ -3374,6 +3374,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;
-@@ -3624,6 +3626,7 @@ static bool is_wiphy_all_set_reg_flag(en
+@@ -3625,6 +3627,7 @@ static bool is_wiphy_all_set_reg_flag(en
  
  void regulatory_hint_disconnect(void)
  {
diff --git a/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch b/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch
index 136be19894..ddfd7a9895 100644
--- a/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch
+++ b/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch
@@ -8,7 +8,7 @@
  #include "../ath.h"
  #include "ath5k.h"
  #include "debug.h"
-@@ -71,7 +72,7 @@ static void ath5k_pci_read_cachesize(str
+@@ -73,7 +74,7 @@ static void ath5k_pci_read_cachesize(str
  }
  
  /*
@@ -17,7 +17,7 @@
   */
  static bool
  ath5k_pci_eeprom_read(struct ath_common *common, u32 offset, u16 *data)
-@@ -79,6 +80,19 @@ ath5k_pci_eeprom_read(struct ath_common
+@@ -81,6 +82,19 @@ ath5k_pci_eeprom_read(struct ath_common
  	struct ath5k_hw *ah = (struct ath5k_hw *) common->ah;
  	u32 status, timeout;
  
@@ -37,7 +37,7 @@
  	/*
  	 * Initialize EEPROM access
  	 */
-@@ -122,6 +136,16 @@ static int ath5k_pci_eeprom_read_mac(str
+@@ -124,6 +138,16 @@ static int ath5k_pci_eeprom_read_mac(str
  	u16 data;
  	int octet;
  
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 e6e048577b..44a78951e0 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
@@ -456,7 +456,7 @@ v13:
  {
 --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
 +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
-@@ -4598,6 +4598,8 @@ static const struct wmi_ops wmi_tlv_ops
+@@ -4603,6 +4603,8 @@ static const struct wmi_ops wmi_tlv_ops
  	.gen_echo = ath10k_wmi_tlv_op_gen_echo,
  	.gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
  	.gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable,
@@ -467,7 +467,7 @@ v13:
  static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
 --- a/drivers/net/wireless/ath/ath10k/wmi.c
 +++ b/drivers/net/wireless/ath/ath10k/wmi.c
-@@ -7492,6 +7492,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -7493,6 +7493,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
  	return skb;
  }
  
@@ -517,7 +517,7 @@ v13:
  static struct sk_buff *
  ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
  			     enum wmi_sta_ps_mode psmode)
-@@ -9180,6 +9223,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -9181,6 +9224,9 @@ static const struct wmi_ops wmi_ops = {
  	.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
  	.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
  	.gen_echo = ath10k_wmi_op_gen_echo,
@@ -527,7 +527,7 @@ v13:
  	/* .gen_bcn_tmpl not implemented */
  	/* .gen_prb_tmpl not implemented */
  	/* .gen_p2p_go_bcn_ie not implemented */
-@@ -9250,6 +9296,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -9251,6 +9297,8 @@ static const struct wmi_ops wmi_10_1_ops
  	.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
  	.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
  	.gen_echo = ath10k_wmi_op_gen_echo,
@@ -536,7 +536,7 @@ v13:
  	/* .gen_bcn_tmpl not implemented */
  	/* .gen_prb_tmpl not implemented */
  	/* .gen_p2p_go_bcn_ie not implemented */
-@@ -9322,6 +9370,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -9323,6 +9371,8 @@ static const struct wmi_ops wmi_10_2_ops
  	.gen_delba_send = ath10k_wmi_op_gen_delba_send,
  	.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
  	.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
@@ -545,7 +545,7 @@ v13:
  	/* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
-@@ -9393,6 +9443,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -9394,6 +9444,8 @@ static const struct wmi_ops wmi_10_2_4_o
  		ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
  	.get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
  	.gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing,
@@ -554,7 +554,7 @@ v13:
  	/* .gen_bcn_tmpl not implemented */
  	/* .gen_prb_tmpl not implemented */
  	/* .gen_p2p_go_bcn_ie not implemented */
-@@ -9474,6 +9526,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -9475,6 +9527,8 @@ static const struct wmi_ops wmi_10_4_ops
  	.gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
  	.gen_echo = ath10k_wmi_op_gen_echo,
  	.gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
diff --git a/package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-stop-tx-queues-immediately-upon-firmware.patch b/package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-stop-tx-queues-immediately-upon-firmware.patch
index fd39392604..4c99331233 100644
--- a/package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-stop-tx-queues-immediately-upon-firmware.patch
+++ b/package/kernel/mac80211/patches/ath11k/0001-wifi-ath11k-stop-tx-queues-immediately-upon-firmware.patch
@@ -35,7 +35,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
 
 --- a/drivers/net/wireless/ath/ath11k/core.c
 +++ b/drivers/net/wireless/ath/ath11k/core.c
-@@ -1668,7 +1668,7 @@ static void ath11k_update_11d(struct wor
+@@ -1675,7 +1675,7 @@ static void ath11k_update_11d(struct wor
  	}
  }
  
@@ -44,7 +44,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
  {
  	struct ath11k *ar;
  	struct ath11k_pdev *pdev;
-@@ -1757,9 +1757,6 @@ static void ath11k_core_restart(struct w
+@@ -1764,9 +1764,6 @@ static void ath11k_core_restart(struct w
  	struct ath11k_base *ab = container_of(work, struct ath11k_base, restart_work);
  	int ret;
  
@@ -56,7 +56,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
  		ath11k_err(ab, "failed to reconfigure driver on crash recovery\n");
 --- a/drivers/net/wireless/ath/ath11k/core.h
 +++ b/drivers/net/wireless/ath/ath11k/core.h
-@@ -1158,6 +1158,7 @@ int ath11k_core_check_smbios(struct ath1
+@@ -1160,6 +1160,7 @@ int ath11k_core_check_smbios(struct ath1
  void ath11k_core_halt(struct ath11k *ar);
  int ath11k_core_resume(struct ath11k_base *ab);
  int ath11k_core_suspend(struct ath11k_base *ab);
@@ -66,7 +66,7 @@ Link: https://lore.kernel.org/r/20220923170235.18873-1-quic_adisi@quicinc.com
  						    const char *filename);
 --- a/drivers/net/wireless/ath/ath11k/qmi.c
 +++ b/drivers/net/wireless/ath/ath11k/qmi.c
-@@ -3169,6 +3169,9 @@ static void ath11k_qmi_driver_event_work
+@@ -3178,6 +3178,9 @@ static void ath11k_qmi_driver_event_work
  		case ATH11K_QMI_EVENT_SERVER_EXIT:
  			set_bit(ATH11K_FLAG_CRASH_FLUSH, &ab->dev_flags);
  			set_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags);
diff --git a/package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-add-support-to-configure-channel-dwell-t.patch b/package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-add-support-to-configure-channel-dwell-t.patch
index b769db636f..89be47600c 100644
--- a/package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-add-support-to-configure-channel-dwell-t.patch
+++ b/package/kernel/mac80211/patches/ath11k/0008-wifi-ath11k-add-support-to-configure-channel-dwell-t.patch
@@ -90,7 +90,7 @@ Link: https://lore.kernel.org/r/20221007051130.6067-1-quic_mpubbise@quicinc.com
  
  exit:
  	kfree(arg.chan_list);
-@@ -9072,6 +9094,9 @@ static int __ath11k_mac_register(struct
+@@ -9074,6 +9096,9 @@ static int __ath11k_mac_register(struct
  				      NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP);
  	}
  
diff --git a/package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-monitor-vdev-creation-with-firmware-.patch b/package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-monitor-vdev-creation-with-firmware-.patch
index dc51960be1..c65707c2ab 100644
--- a/package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-monitor-vdev-creation-with-firmware-.patch
+++ b/package/kernel/mac80211/patches/ath11k/0011-wifi-ath11k-fix-monitor-vdev-creation-with-firmware-.patch
@@ -27,7 +27,7 @@ Link: https://lore.kernel.org/r/20221014155054.11471-1-quic_nmaran@quicinc.com
 
 --- a/drivers/net/wireless/ath/ath11k/core.c
 +++ b/drivers/net/wireless/ath/ath11k/core.c
-@@ -1704,6 +1704,10 @@ void ath11k_core_pre_reconfigure_recover
+@@ -1711,6 +1711,10 @@ void ath11k_core_pre_reconfigure_recover
  			     ath11k_mac_tx_mgmt_pending_free, ar);
  		idr_destroy(&ar->txmgmt_idr);
  		wake_up(&ar->txmgmt_empty_waitq);
diff --git a/package/kernel/mac80211/patches/ath11k/0020-wifi-ath11k-update-ce-configurations-for-IPQ5018.patch b/package/kernel/mac80211/patches/ath11k/0020-wifi-ath11k-update-ce-configurations-for-IPQ5018.patch
index 95643a95fe..12afc8a284 100644
--- a/package/kernel/mac80211/patches/ath11k/0020-wifi-ath11k-update-ce-configurations-for-IPQ5018.patch
+++ b/package/kernel/mac80211/patches/ath11k/0020-wifi-ath11k-update-ce-configurations-for-IPQ5018.patch
@@ -34,7 +34,7 @@ Link: https://lore.kernel.org/r/20221122132152.17771-4-quic_kathirve@quicinc.com
  		.rx_mac_buf_ring = false,
 --- a/drivers/net/wireless/ath/ath11k/core.h
 +++ b/drivers/net/wireless/ath/ath11k/core.h
-@@ -1145,6 +1145,9 @@ extern const struct service_to_pipe ath1
+@@ -1147,6 +1147,9 @@ extern const struct service_to_pipe ath1
  extern const struct ce_pipe_config ath11k_target_ce_config_wlan_qca6390[];
  extern const struct service_to_pipe ath11k_target_service_to_ce_map_wlan_qca6390[];
  
diff --git a/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-remap-ce-register-space-for-IPQ5018.patch b/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-remap-ce-register-space-for-IPQ5018.patch
index 1c74c4f01f..1df17d62d9 100644
--- a/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-remap-ce-register-space-for-IPQ5018.patch
+++ b/package/kernel/mac80211/patches/ath11k/0021-wifi-ath11k-remap-ce-register-space-for-IPQ5018.patch
@@ -212,7 +212,7 @@ Link: https://lore.kernel.org/r/20221122132152.17771-5-quic_kathirve@quicinc.com
  		.rx_mac_buf_ring = false,
 --- a/drivers/net/wireless/ath/ath11k/core.h
 +++ b/drivers/net/wireless/ath/ath11k/core.h
-@@ -851,6 +851,7 @@ struct ath11k_base {
+@@ -853,6 +853,7 @@ struct ath11k_base {
  	struct ath11k_dp dp;
  
  	void __iomem *mem;
diff --git a/package/kernel/mac80211/patches/ath11k/0029-wifi-ath11k-Add-support-to-configure-FTM-responder-r.patch b/package/kernel/mac80211/patches/ath11k/0029-wifi-ath11k-Add-support-to-configure-FTM-responder-r.patch
index 85494744ac..946e2875aa 100644
--- a/package/kernel/mac80211/patches/ath11k/0029-wifi-ath11k-Add-support-to-configure-FTM-responder-r.patch
+++ b/package/kernel/mac80211/patches/ath11k/0029-wifi-ath11k-Add-support-to-configure-FTM-responder-r.patch
@@ -146,7 +146,7 @@ Link: https://lore.kernel.org/r/20221220044435.10506-1-quic_rajkbhag@quicinc.com
  	if (changed & BSS_CHANGED_FILS_DISCOVERY ||
  	    changed & BSS_CHANGED_UNSOL_BCAST_PROBE_RESP)
  		ath11k_mac_fils_discovery(arvif, info);
-@@ -9125,6 +9139,10 @@ static int __ath11k_mac_register(struct
+@@ -9127,6 +9141,10 @@ static int __ath11k_mac_register(struct
  	wiphy_ext_feature_set(ar->hw->wiphy,
  			      NL80211_EXT_FEATURE_SET_SCAN_DWELL);
  
diff --git a/package/kernel/mac80211/patches/ath11k/0042-wifi-ath11k-Add-tx-ack-signal-support-for-management.patch b/package/kernel/mac80211/patches/ath11k/0042-wifi-ath11k-Add-tx-ack-signal-support-for-management.patch
index 68f14e2ac7..b582c7ebf3 100644
--- a/package/kernel/mac80211/patches/ath11k/0042-wifi-ath11k-Add-tx-ack-signal-support-for-management.patch
+++ b/package/kernel/mac80211/patches/ath11k/0042-wifi-ath11k-Add-tx-ack-signal-support-for-management.patch
@@ -36,7 +36,7 @@ Link: https://lore.kernel.org/r/20221219053844.4084486-1-quic_mkenna@quicinc.com
  static int ath11k_hw_mac_id_to_pdev_id_ipq8074(struct ath11k_hw_params *hw,
 --- a/drivers/net/wireless/ath/ath11k/mac.c
 +++ b/drivers/net/wireless/ath/ath11k/mac.c
-@@ -9186,6 +9186,11 @@ static int __ath11k_mac_register(struct
+@@ -9188,6 +9188,11 @@ static int __ath11k_mac_register(struct
  		goto err_free_if_combs;
  	}
  
diff --git a/package/kernel/mac80211/patches/ath11k/0048-wifi-ath11k-fix-BUFFER_DONE-read-on-monitor-ring-rx-.patch b/package/kernel/mac80211/patches/ath11k/0048-wifi-ath11k-fix-BUFFER_DONE-read-on-monitor-ring-rx-.patch
index 0c7fc42d57..fb842499c8 100644
--- a/package/kernel/mac80211/patches/ath11k/0048-wifi-ath11k-fix-BUFFER_DONE-read-on-monitor-ring-rx-.patch
+++ b/package/kernel/mac80211/patches/ath11k/0048-wifi-ath11k-fix-BUFFER_DONE-read-on-monitor-ring-rx-.patch
@@ -65,7 +65,7 @@ Link: https://lore.kernel.org/r/20230309164434.32660-1-quic_hprem@quicinc.com
  	return 0;
  }
  
-@@ -3037,39 +3014,51 @@ static int ath11k_dp_rx_reap_mon_status_
+@@ -3044,39 +3021,51 @@ static int ath11k_dp_rx_reap_mon_status_
  
  			spin_lock_bh(&rx_ring->idr_lock);
  			skb = idr_find(&rx_ring->bufs_idr, buf_id);
diff --git a/package/kernel/mac80211/patches/ath11k/0050-wifi-ath11k-Configure-the-FTM-responder-role-using-f.patch b/package/kernel/mac80211/patches/ath11k/0050-wifi-ath11k-Configure-the-FTM-responder-role-using-f.patch
index 3bd00ff731..9dc3328c8d 100644
--- a/package/kernel/mac80211/patches/ath11k/0050-wifi-ath11k-Configure-the-FTM-responder-role-using-f.patch
+++ b/package/kernel/mac80211/patches/ath11k/0050-wifi-ath11k-Configure-the-FTM-responder-role-using-f.patch
@@ -106,7 +106,7 @@ Link: https://lore.kernel.org/r/20230317072034.8217-1-quic_gjothira@quicinc.com
  	    (vif->type == NL80211_IFTYPE_AP ||
  	     vif->type == NL80211_IFTYPE_MESH_POINT)) {
  		arvif->ftm_responder = info->ftm_responder;
-@@ -9246,7 +9246,7 @@ static int __ath11k_mac_register(struct
+@@ -9248,7 +9248,7 @@ static int __ath11k_mac_register(struct
  	wiphy_ext_feature_set(ar->hw->wiphy,
  			      NL80211_EXT_FEATURE_SET_SCAN_DWELL);
  
diff --git a/package/kernel/mac80211/patches/ath11k/0051-wifi-ath11k-fix-rssi-station-dump-not-updated-in-QCN.patch b/package/kernel/mac80211/patches/ath11k/0051-wifi-ath11k-fix-rssi-station-dump-not-updated-in-QCN.patch
index 835dece1fe..2970994c63 100644
--- a/package/kernel/mac80211/patches/ath11k/0051-wifi-ath11k-fix-rssi-station-dump-not-updated-in-QCN.patch
+++ b/package/kernel/mac80211/patches/ath11k/0051-wifi-ath11k-fix-rssi-station-dump-not-updated-in-QCN.patch
@@ -24,7 +24,7 @@ Link: https://lore.kernel.org/r/20230320110312.20639-1-quic_ppranees@quicinc.com
 
 --- a/drivers/net/wireless/ath/ath11k/hal_rx.c
 +++ b/drivers/net/wireless/ath/ath11k/hal_rx.c
-@@ -865,6 +865,12 @@ ath11k_hal_rx_populate_mu_user_info(void
+@@ -866,6 +866,12 @@ ath11k_hal_rx_populate_mu_user_info(void
  	ath11k_hal_rx_populate_byte_count(rx_tlv, ppdu_info, rx_user_status);
  }
  
@@ -37,7 +37,7 @@ Link: https://lore.kernel.org/r/20230320110312.20639-1-quic_ppranees@quicinc.com
  static enum hal_rx_mon_status
  ath11k_hal_rx_parse_mon_status_tlv(struct ath11k_base *ab,
  				   struct hal_rx_mon_ppdu_info *ppdu_info,
-@@ -1459,9 +1465,11 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
+@@ -1460,9 +1466,11 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
  		break;
  	}
  	case HAL_RX_MPDU_START: {
diff --git a/package/kernel/mac80211/patches/ath11k/0059-wifi-ath11k-print-a-warning-when-crypto_alloc_shash-.patch b/package/kernel/mac80211/patches/ath11k/0059-wifi-ath11k-print-a-warning-when-crypto_alloc_shash-.patch
index 6a4290c84a..460f1fc939 100644
--- a/package/kernel/mac80211/patches/ath11k/0059-wifi-ath11k-print-a-warning-when-crypto_alloc_shash-.patch
+++ b/package/kernel/mac80211/patches/ath11k/0059-wifi-ath11k-print-a-warning-when-crypto_alloc_shash-.patch
@@ -19,7 +19,7 @@ Link: https://lore.kernel.org/r/20230405090425.1351-1-kvalo@kernel.org
 
 --- a/drivers/net/wireless/ath/ath11k/dp_rx.c
 +++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
-@@ -3114,8 +3114,11 @@ int ath11k_peer_rx_frag_setup(struct ath
+@@ -3121,8 +3121,11 @@ int ath11k_peer_rx_frag_setup(struct ath
  	int i;
  
  	tfm = crypto_alloc_shash("michael_mic", 0, 0);
diff --git a/package/kernel/mac80211/patches/ath11k/0061-wifi-ath11k-fix-undefined-behavior-with-__fls-in-dp.patch b/package/kernel/mac80211/patches/ath11k/0061-wifi-ath11k-fix-undefined-behavior-with-__fls-in-dp.patch
index 893081de31..f2bdd73419 100644
--- a/package/kernel/mac80211/patches/ath11k/0061-wifi-ath11k-fix-undefined-behavior-with-__fls-in-dp.patch
+++ b/package/kernel/mac80211/patches/ath11k/0061-wifi-ath11k-fix-undefined-behavior-with-__fls-in-dp.patch
@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20230403184155.8670-3-quic_nmaran@quicinc.com
 
 --- a/drivers/net/wireless/ath/ath11k/dp_rx.c
 +++ b/drivers/net/wireless/ath/ath11k/dp_rx.c
-@@ -3606,7 +3606,7 @@ static int ath11k_dp_rx_frag_h_mpdu(stru
+@@ -3613,7 +3613,7 @@ static int ath11k_dp_rx_frag_h_mpdu(stru
  		goto out_unlock;
  	}
  
diff --git a/package/kernel/mac80211/patches/ath11k/0066-wifi-ath11k-Fix-incorrect-update-of-radiotap-fields.patch b/package/kernel/mac80211/patches/ath11k/0066-wifi-ath11k-Fix-incorrect-update-of-radiotap-fields.patch
index 4f94580100..38e212a873 100644
--- a/package/kernel/mac80211/patches/ath11k/0066-wifi-ath11k-Fix-incorrect-update-of-radiotap-fields.patch
+++ b/package/kernel/mac80211/patches/ath11k/0066-wifi-ath11k-Fix-incorrect-update-of-radiotap-fields.patch
@@ -18,7 +18,7 @@ Link: https://lore.kernel.org/r/20230403195738.25367-3-quic_pradeepc@quicinc.com
 
 --- a/drivers/net/wireless/ath/ath11k/hal_rx.c
 +++ b/drivers/net/wireless/ath/ath11k/hal_rx.c
-@@ -1029,7 +1029,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
+@@ -1030,7 +1030,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
  		info1 = __le32_to_cpu(vht_sig->info1);
  
  		ppdu_info->ldpc = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_SU_MU_CODING,
@@ -27,7 +27,7 @@ Link: https://lore.kernel.org/r/20230403195738.25367-3-quic_pradeepc@quicinc.com
  		ppdu_info->mcs = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_MCS,
  					   info1);
  		gi_setting = FIELD_GET(HAL_RX_VHT_SIG_A_INFO_INFO1_GI_SETTING,
-@@ -1452,7 +1452,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
+@@ -1453,7 +1453,7 @@ ath11k_hal_rx_parse_mon_status_tlv(struc
  		 * PHYRX_OTHER_RECEIVE_INFO TLV.
  		 */
  		ppdu_info->rssi_comb =
diff --git a/package/kernel/mac80211/patches/ath11k/0071-wifi-ath11k-driver-settings-for-MBSSID-and-EMA.patch b/package/kernel/mac80211/patches/ath11k/0071-wifi-ath11k-driver-settings-for-MBSSID-and-EMA.patch
index 3c442770bb..6281219307 100644
--- a/package/kernel/mac80211/patches/ath11k/0071-wifi-ath11k-driver-settings-for-MBSSID-and-EMA.patch
+++ b/package/kernel/mac80211/patches/ath11k/0071-wifi-ath11k-driver-settings-for-MBSSID-and-EMA.patch
@@ -56,7 +56,7 @@ Link: https://lore.kernel.org/r/20230405221648.17950-2-quic_alokad@quicinc.com
  #define ATH11K_QUEUE_LEN		4096
 --- a/drivers/net/wireless/ath/ath11k/mac.c
 +++ b/drivers/net/wireless/ath/ath11k/mac.c
-@@ -9013,19 +9013,23 @@ static int ath11k_mac_setup_iface_combin
+@@ -9015,19 +9015,23 @@ static int ath11k_mac_setup_iface_combin
  
  static const u8 ath11k_if_types_ext_capa[] = {
  	[0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
@@ -80,7 +80,7 @@ Link: https://lore.kernel.org/r/20230405221648.17950-2-quic_alokad@quicinc.com
  };
  
  static const struct wiphy_iftype_ext_capab ath11k_iftypes_ext_capa[] = {
-@@ -9263,6 +9267,9 @@ static int __ath11k_mac_register(struct
+@@ -9265,6 +9269,9 @@ static int __ath11k_mac_register(struct
  		wiphy_ext_feature_set(ar->hw->wiphy,
  				      NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER);
  
diff --git a/package/kernel/mac80211/patches/ath11k/0081-wifi-ath11k-remove-unused-function-ath11k_tm_event_w.patch b/package/kernel/mac80211/patches/ath11k/0081-wifi-ath11k-remove-unused-function-ath11k_tm_event_w.patch
deleted file mode 100644
index b5dc83f007..0000000000
--- a/package/kernel/mac80211/patches/ath11k/0081-wifi-ath11k-remove-unused-function-ath11k_tm_event_w.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From 86f85575a3f6a20cef1c8bb98e78585fe3a53ccc Mon Sep 17 00:00:00 2001
-From: Govindaraj Saminathan <quic_gsaminat at quicinc.com>
-Date: Fri, 26 May 2023 12:41:06 +0300
-Subject: [PATCH 82/84] wifi: ath11k: remove unused function
- ath11k_tm_event_wmi()
-
-The function ath11k_tm_event_wmi() is only defined and it is not used
-anywhere. Hence remove the unused.
-
-Tested-on: IPQ8074 hw2.0 AHB WLAN.HK.2.7.0.1-01744-QCAHKSWPL_SILICONZ-1
-
-Signed-off-by: Govindaraj Saminathan <quic_gsaminat at quicinc.com>
-Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag at quicinc.com>
-Signed-off-by: Kalle Valo <quic_kvalo at quicinc.com>
-Link: https://lore.kernel.org/r/20230517135934.16408-2-quic_rajkbhag@quicinc.com
----
- drivers/net/wireless/ath/ath11k/testmode.c | 64 +---------------------
- drivers/net/wireless/ath/ath11k/testmode.h |  8 +--
- 2 files changed, 2 insertions(+), 70 deletions(-)
-
---- a/drivers/net/wireless/ath/ath11k/testmode.c
-+++ b/drivers/net/wireless/ath/ath11k/testmode.c
-@@ -1,6 +1,7 @@
- // SPDX-License-Identifier: BSD-3-Clause-Clear
- /*
-  * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
-+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
-  */
- 
- #include "testmode.h"
-@@ -20,69 +21,6 @@ static const struct nla_policy ath11k_tm
- 	[ATH11K_TM_ATTR_VERSION_MINOR]	= { .type = NLA_U32 },
- };
- 
--/* Returns true if callee consumes the skb and the skb should be discarded.
-- * Returns false if skb is not used. Does not sleep.
-- */
--bool ath11k_tm_event_wmi(struct ath11k *ar, u32 cmd_id, struct sk_buff *skb)
--{
--	struct sk_buff *nl_skb;
--	bool consumed;
--	int ret;
--
--	ath11k_dbg(ar->ab, ATH11K_DBG_TESTMODE,
--		   "testmode event wmi cmd_id %d skb %pK skb->len %d\n",
--		   cmd_id, skb, skb->len);
--
--	ath11k_dbg_dump(ar->ab, ATH11K_DBG_TESTMODE, NULL, "", skb->data, skb->len);
--
--	spin_lock_bh(&ar->data_lock);
--
--	consumed = true;
--
--	nl_skb = cfg80211_testmode_alloc_event_skb(ar->hw->wiphy,
--						   2 * sizeof(u32) + skb->len,
--						   GFP_ATOMIC);
--	if (!nl_skb) {
--		ath11k_warn(ar->ab,
--			    "failed to allocate skb for testmode wmi event\n");
--		goto out;
--	}
--
--	ret = nla_put_u32(nl_skb, ATH11K_TM_ATTR_CMD, ATH11K_TM_CMD_WMI);
--	if (ret) {
--		ath11k_warn(ar->ab,
--			    "failed to put testmode wmi event cmd attribute: %d\n",
--			    ret);
--		kfree_skb(nl_skb);
--		goto out;
--	}
--
--	ret = nla_put_u32(nl_skb, ATH11K_TM_ATTR_WMI_CMDID, cmd_id);
--	if (ret) {
--		ath11k_warn(ar->ab,
--			    "failed to put testmode wmi even cmd_id: %d\n",
--			    ret);
--		kfree_skb(nl_skb);
--		goto out;
--	}
--
--	ret = nla_put(nl_skb, ATH11K_TM_ATTR_DATA, skb->len, skb->data);
--	if (ret) {
--		ath11k_warn(ar->ab,
--			    "failed to copy skb to testmode wmi event: %d\n",
--			    ret);
--		kfree_skb(nl_skb);
--		goto out;
--	}
--
--	cfg80211_testmode_event(nl_skb, GFP_ATOMIC);
--
--out:
--	spin_unlock_bh(&ar->data_lock);
--
--	return consumed;
--}
--
- static int ath11k_tm_cmd_get_version(struct ath11k *ar, struct nlattr *tb[])
- {
- 	struct sk_buff *skb;
---- a/drivers/net/wireless/ath/ath11k/testmode.h
-+++ b/drivers/net/wireless/ath/ath11k/testmode.h
-@@ -1,24 +1,18 @@
- /* SPDX-License-Identifier: BSD-3-Clause-Clear */
- /*
-  * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
-+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
-  */
- 
- #include "core.h"
- 
- #ifdef CPTCFG_NL80211_TESTMODE
- 
--bool ath11k_tm_event_wmi(struct ath11k *ar, u32 cmd_id, struct sk_buff *skb);
- int ath11k_tm_cmd(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
- 		  void *data, int len);
- 
- #else
- 
--static inline bool ath11k_tm_event_wmi(struct ath11k *ar, u32 cmd_id,
--				       struct sk_buff *skb)
--{
--	return false;
--}
--
- static inline int ath11k_tm_cmd(struct ieee80211_hw *hw,
- 				struct ieee80211_vif *vif,
- 				void *data, int len)
diff --git a/package/kernel/mac80211/patches/ath11k/0082-wifi-ath11k-factory-test-mode-support.patch b/package/kernel/mac80211/patches/ath11k/0082-wifi-ath11k-factory-test-mode-support.patch
index fc7bb30d9e..a1d9a549d0 100644
--- a/package/kernel/mac80211/patches/ath11k/0082-wifi-ath11k-factory-test-mode-support.patch
+++ b/package/kernel/mac80211/patches/ath11k/0082-wifi-ath11k-factory-test-mode-support.patch
@@ -91,7 +91,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
  static const struct ath11k_hw_params ath11k_hw_params[] = {
  	{
  		.hw_rev = ATH11K_HW_IPQ8074,
-@@ -1381,6 +1385,11 @@ static int ath11k_core_soc_create(struct
+@@ -1382,6 +1386,11 @@ static int ath11k_core_soc_create(struct
  {
  	int ret;
  
@@ -103,16 +103,16 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
  	ret = ath11k_qmi_init_service(ab);
  	if (ret) {
  		ath11k_err(ab, "failed to initialize qmi :%d\n", ret);
-@@ -1607,7 +1616,7 @@ int ath11k_core_qmi_firmware_ready(struc
- {
- 	int ret;
+@@ -1622,7 +1631,7 @@ int ath11k_core_qmi_firmware_ready(struc
+ 		return -EINVAL;
+ 	}
  
 -	ret = ath11k_core_start_firmware(ab, ATH11K_FIRMWARE_MODE_NORMAL);
 +	ret = ath11k_core_start_firmware(ab, ab->fw_mode);
  	if (ret) {
  		ath11k_err(ab, "failed to start firmware: %d\n", ret);
  		return ret;
-@@ -1772,7 +1781,8 @@ void ath11k_core_pre_reconfigure_recover
+@@ -1779,7 +1788,8 @@ void ath11k_core_pre_reconfigure_recover
  	for (i = 0; i < ab->num_radios; i++) {
  		pdev = &ab->pdevs[i];
  		ar = pdev->ar;
@@ -122,7 +122,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
  			continue;
  
  		ieee80211_stop_queues(ar->hw);
-@@ -1841,7 +1851,12 @@ static void ath11k_core_post_reconfigure
+@@ -1848,7 +1858,12 @@ static void ath11k_core_post_reconfigure
  			ath11k_warn(ab,
  				    "device is wedged, will not restart radio %d\n", i);
  			break;
@@ -170,7 +170,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
  	/* Add other states as required */
  };
  
-@@ -709,6 +712,8 @@ struct ath11k {
+@@ -711,6 +714,8 @@ struct ath11k {
  	u32 last_ppdu_id;
  	u32 cached_ppdu_id;
  	int monitor_vdev_id;
@@ -179,7 +179,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
  #ifdef CPTCFG_ATH11K_DEBUGFS
  	struct ath11k_debug debug;
  #endif
-@@ -838,6 +843,7 @@ struct ath11k_msi_config {
+@@ -840,6 +845,7 @@ struct ath11k_msi_config {
  /* Master structure to hold the hw data which may be used in core module */
  struct ath11k_base {
  	enum ath11k_hw_rev hw_rev;
@@ -187,7 +187,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-4-quic_rajkbhag@quicinc.com
  	struct platform_device *pdev;
  	struct device *dev;
  	struct ath11k_qmi qmi;
-@@ -978,6 +984,14 @@ struct ath11k_base {
+@@ -980,6 +986,14 @@ struct ath11k_base {
  		const struct ath11k_pci_ops *ops;
  	} pci;
  
diff --git a/package/kernel/mac80211/patches/ath11k/0083-wifi-ath11k-Allow-ath11k-to-boot-without-caldata-in-.patch b/package/kernel/mac80211/patches/ath11k/0083-wifi-ath11k-Allow-ath11k-to-boot-without-caldata-in-.patch
index f237199ff8..aa1b5a2afe 100644
--- a/package/kernel/mac80211/patches/ath11k/0083-wifi-ath11k-Allow-ath11k-to-boot-without-caldata-in-.patch
+++ b/package/kernel/mac80211/patches/ath11k/0083-wifi-ath11k-Allow-ath11k-to-boot-without-caldata-in-.patch
@@ -30,7 +30,7 @@ Link: https://lore.kernel.org/r/20230517135934.16408-5-quic_rajkbhag@quicinc.com
   */
  
  #include <linux/elf.h>
-@@ -2465,6 +2465,14 @@ static int ath11k_qmi_load_bdf_qmi(struc
+@@ -2474,6 +2474,14 @@ static int ath11k_qmi_load_bdf_qmi(struc
  
  		fw_entry = ath11k_core_firmware_request(ab, ATH11K_DEFAULT_CAL_FILE);
  		if (IS_ERR(fw_entry)) {
diff --git a/package/kernel/mac80211/patches/ath11k/0091-wifi-ath11k-Split-coldboot-calibration-hw_param.patch b/package/kernel/mac80211/patches/ath11k/0091-wifi-ath11k-Split-coldboot-calibration-hw_param.patch
index 4705354686..f79597163d 100644
--- a/package/kernel/mac80211/patches/ath11k/0091-wifi-ath11k-Split-coldboot-calibration-hw_param.patch
+++ b/package/kernel/mac80211/patches/ath11k/0091-wifi-ath11k-Split-coldboot-calibration-hw_param.patch
@@ -115,7 +115,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
  		.cbcal_restart_fw = true,
  		.fix_l1ss = true,
  		.supports_dynamic_smps_6ghz = false,
-@@ -749,6 +757,18 @@ void ath11k_fw_stats_free(struct ath11k_
+@@ -750,6 +758,18 @@ void ath11k_fw_stats_free(struct ath11k_
  	ath11k_fw_stats_bcn_free(&stats->bcn);
  }
  
@@ -136,7 +136,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
  	int ret;
 --- a/drivers/net/wireless/ath/ath11k/core.h
 +++ b/drivers/net/wireless/ath/ath11k/core.h
-@@ -1186,6 +1186,7 @@ void ath11k_core_halt(struct ath11k *ar)
+@@ -1188,6 +1188,7 @@ void ath11k_core_halt(struct ath11k *ar)
  int ath11k_core_resume(struct ath11k_base *ab);
  int ath11k_core_suspend(struct ath11k_base *ab);
  void ath11k_core_pre_reconfigure_recovery(struct ath11k_base *ab);
@@ -158,7 +158,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
  	u32 num_vdevs;
 --- a/drivers/net/wireless/ath/ath11k/qmi.c
 +++ b/drivers/net/wireless/ath/ath11k/qmi.c
-@@ -2082,7 +2082,7 @@ static int ath11k_qmi_assign_target_mem_
+@@ -2091,7 +2091,7 @@ static int ath11k_qmi_assign_target_mem_
  				return -EINVAL;
  			}
  
@@ -167,7 +167,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-2-quic_rajkbhag@quicinc.com
  				if (hremote_node) {
  					ab->qmi.target_mem[idx].paddr =
  							res.start + host_ddr_sz;
-@@ -3212,8 +3212,8 @@ static void ath11k_qmi_driver_event_work
+@@ -3221,8 +3221,8 @@ static void ath11k_qmi_driver_event_work
  				break;
  			}
  
diff --git a/package/kernel/mac80211/patches/ath11k/0092-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch b/package/kernel/mac80211/patches/ath11k/0092-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch
index 1b0dbc4ad1..1bf449e809 100644
--- a/package/kernel/mac80211/patches/ath11k/0092-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch
+++ b/package/kernel/mac80211/patches/ath11k/0092-wifi-ath11k-Add-coldboot-calibration-support-for-QCN.patch
@@ -122,7 +122,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-3-quic_rajkbhag@quicinc.com
  #include <linux/of.h>
  #include <linux/of_address.h>
  #include <linux/ioport.h>
-@@ -2842,6 +2843,33 @@ int ath11k_qmi_firmware_start(struct ath
+@@ -2851,6 +2852,33 @@ int ath11k_qmi_firmware_start(struct ath
  	return 0;
  }
  
diff --git a/package/kernel/mac80211/patches/ath11k/0093-wifi-ath11k-Remove-cal_done-check-during-probe.patch b/package/kernel/mac80211/patches/ath11k/0093-wifi-ath11k-Remove-cal_done-check-during-probe.patch
index 513ea3f0b9..d798c899c7 100644
--- a/package/kernel/mac80211/patches/ath11k/0093-wifi-ath11k-Remove-cal_done-check-during-probe.patch
+++ b/package/kernel/mac80211/patches/ath11k/0093-wifi-ath11k-Remove-cal_done-check-during-probe.patch
@@ -22,7 +22,7 @@ Link: https://lore.kernel.org/r/20230726141032.3061-4-quic_rajkbhag@quicinc.com
 
 --- a/drivers/net/wireless/ath/ath11k/qmi.c
 +++ b/drivers/net/wireless/ath/ath11k/qmi.c
-@@ -2847,7 +2847,7 @@ int ath11k_qmi_fwreset_from_cold_boot(st
+@@ -2856,7 +2856,7 @@ int ath11k_qmi_fwreset_from_cold_boot(st
  {
  	int timeout;
  
diff --git a/package/kernel/mac80211/patches/ath11k/0095-wifi-ath11k-add-chip-id-board-name-while-searching-b.patch b/package/kernel/mac80211/patches/ath11k/0095-wifi-ath11k-add-chip-id-board-name-while-searching-b.patch
index 662e28f4ef..a570072ae6 100644
--- a/package/kernel/mac80211/patches/ath11k/0095-wifi-ath11k-add-chip-id-board-name-while-searching-b.patch
+++ b/package/kernel/mac80211/patches/ath11k/0095-wifi-ath11k-add-chip-id-board-name-while-searching-b.patch
@@ -22,7 +22,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
 
 --- a/drivers/net/wireless/ath/ath11k/core.c
 +++ b/drivers/net/wireless/ath/ath11k/core.c
-@@ -985,9 +985,15 @@ int ath11k_core_check_dt(struct ath11k_b
+@@ -986,9 +986,15 @@ int ath11k_core_check_dt(struct ath11k_b
  	return 0;
  }
  
@@ -39,7 +39,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
  {
  	/* strlen(',variant=') + strlen(ab->qmi.target.bdf_ext) */
  	char variant[9 + ATH11K_QMI_BDF_EXT_STR_LENGTH] = { 0 };
-@@ -998,11 +1004,8 @@ static int __ath11k_core_create_board_na
+@@ -999,11 +1005,8 @@ static int __ath11k_core_create_board_na
  
  	switch (ab->id.bdf_search) {
  	case ATH11K_BDF_SEARCH_BUS_AND_BOARD:
@@ -53,7 +53,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
  			scnprintf(name, name_len,
  				  "bus=%s,vendor=%04x,device=%04x,subsystem-vendor=%04x,subsystem-device=%04x,qmi-chip-id=%d,qmi-board-id=%d%s",
  				  ath11k_bus_str(ab->hif.bus),
-@@ -1012,6 +1015,19 @@ static int __ath11k_core_create_board_na
+@@ -1013,6 +1016,19 @@ static int __ath11k_core_create_board_na
  				  ab->qmi.target.chip_id,
  				  ab->qmi.target.board_id,
  				  variant);
@@ -73,7 +73,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
  		break;
  	default:
  		scnprintf(name, name_len,
-@@ -1030,19 +1046,29 @@ static int __ath11k_core_create_board_na
+@@ -1031,19 +1047,29 @@ static int __ath11k_core_create_board_na
  static int ath11k_core_create_board_name(struct ath11k_base *ab, char *name,
  					 size_t name_len)
  {
@@ -106,7 +106,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
  }
  
  const struct firmware *ath11k_core_firmware_request(struct ath11k_base *ab,
-@@ -1289,16 +1315,21 @@ int ath11k_core_fetch_board_data_api_1(s
+@@ -1290,16 +1316,21 @@ int ath11k_core_fetch_board_data_api_1(s
  #define BOARD_NAME_SIZE 200
  int ath11k_core_fetch_bdf(struct ath11k_base *ab, struct ath11k_board_data *bd)
  {
@@ -132,7 +132,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
  	}
  
  	ab->bd_api = 2;
-@@ -1307,13 +1338,19 @@ int ath11k_core_fetch_bdf(struct ath11k_
+@@ -1308,13 +1339,19 @@ int ath11k_core_fetch_bdf(struct ath11k_
  						 ATH11K_BD_IE_BOARD_NAME,
  						 ATH11K_BD_IE_BOARD_DATA);
  	if (!ret)
@@ -155,7 +155,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
  	}
  
  	ret = ath11k_core_fetch_board_data_api_n(ab, bd, fallback_boardname,
-@@ -1321,7 +1358,28 @@ int ath11k_core_fetch_bdf(struct ath11k_
+@@ -1322,7 +1359,28 @@ int ath11k_core_fetch_bdf(struct ath11k_
  						 ATH11K_BD_IE_BOARD_NAME,
  						 ATH11K_BD_IE_BOARD_DATA);
  	if (!ret)
@@ -185,7 +185,7 @@ Link: https://lore.kernel.org/r/20230830060226.18664-1-quic_wgong@quicinc.com
  
  	ab->bd_api = 1;
  	ret = ath11k_core_fetch_board_data_api_1(ab, bd, ATH11K_DEFAULT_BOARD_FILE);
-@@ -1334,14 +1392,22 @@ int ath11k_core_fetch_bdf(struct ath11k_
+@@ -1335,14 +1393,22 @@ int ath11k_core_fetch_bdf(struct ath11k_
  			ath11k_err(ab, "failed to fetch board data for %s from %s\n",
  				   fallback_boardname, filepath);
  
diff --git a/package/kernel/mac80211/patches/ath11k/903-ath11k-support-setting-FW-memory-mode-via-DT.patch b/package/kernel/mac80211/patches/ath11k/903-ath11k-support-setting-FW-memory-mode-via-DT.patch
index 71373b2136..7fdb9645a6 100644
--- a/package/kernel/mac80211/patches/ath11k/903-ath11k-support-setting-FW-memory-mode-via-DT.patch
+++ b/package/kernel/mac80211/patches/ath11k/903-ath11k-support-setting-FW-memory-mode-via-DT.patch
@@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  	{
  		.hw_rev = ATH11K_HW_IPQ8074,
  		.name = "ipq8074 hw2.0",
-@@ -2040,7 +2040,8 @@ static void ath11k_core_reset(struct wor
+@@ -2047,7 +2047,8 @@ static void ath11k_core_reset(struct wor
  static int ath11k_init_hw_params(struct ath11k_base *ab)
  {
  	const struct ath11k_hw_params *hw_params = NULL;
@@ -41,7 +41,7 @@ Signed-off-by: Robert Marko <robimarko at gmail.com>
  
  	for (i = 0; i < ARRAY_SIZE(ath11k_hw_params); i++) {
  		hw_params = &ath11k_hw_params[i];
-@@ -2056,7 +2057,31 @@ static int ath11k_init_hw_params(struct
+@@ -2063,7 +2064,31 @@ static int ath11k_init_hw_params(struct
  
  	ab->hw_params = *hw_params;
  
diff --git a/package/kernel/mac80211/patches/ath5k/432-ath5k_add_pciids.patch b/package/kernel/mac80211/patches/ath5k/432-ath5k_add_pciids.patch
deleted file mode 100644
index bd0e6707a5..0000000000
--- a/package/kernel/mac80211/patches/ath5k/432-ath5k_add_pciids.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/drivers/net/wireless/ath/ath5k/pci.c
-+++ b/drivers/net/wireless/ath/ath5k/pci.c
-@@ -47,6 +47,8 @@ static const struct pci_device_id ath5k_
- 	{ PCI_VDEVICE(ATHEROS, 0x001b) }, /* 5413 Eagle */
- 	{ PCI_VDEVICE(ATHEROS, 0x001c) }, /* PCI-E cards */
- 	{ PCI_VDEVICE(ATHEROS, 0x001d) }, /* 2417 Nala */
-+	{ PCI_VDEVICE(ATHEROS, 0xff16) }, /* 2413,2414 sx76x on lantiq_danube */
-+	{ PCI_VDEVICE(ATHEROS, 0xff1a) }, /* 2417 arv45xx on lantiq_danube */
- 	{ PCI_VDEVICE(ATHEROS, 0xff1b) }, /* AR5BXB63 */
- 	{ 0 }
- };
diff --git a/package/kernel/mac80211/patches/ath9k/410-ath9k_allow_adhoc_and_ap.patch b/package/kernel/mac80211/patches/ath9k/410-ath9k_allow_adhoc_and_ap.patch
index b2f2763e8e..3144f8291a 100644
--- a/package/kernel/mac80211/patches/ath9k/410-ath9k_allow_adhoc_and_ap.patch
+++ b/package/kernel/mac80211/patches/ath9k/410-ath9k_allow_adhoc_and_ap.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -882,6 +882,7 @@ static const struct ieee80211_iface_limi
+@@ -884,6 +884,7 @@ static const struct ieee80211_iface_limi
  				 BIT(NL80211_IFTYPE_AP) },
  	{ .max = 1,	.types = BIT(NL80211_IFTYPE_P2P_CLIENT) |
  				 BIT(NL80211_IFTYPE_P2P_GO) },
diff --git a/package/kernel/mac80211/patches/ath9k/450-ath9k-enabled-MFP-capability-unconditionally.patch b/package/kernel/mac80211/patches/ath9k/450-ath9k-enabled-MFP-capability-unconditionally.patch
index f424ca530b..50ba45c2a8 100644
--- a/package/kernel/mac80211/patches/ath9k/450-ath9k-enabled-MFP-capability-unconditionally.patch
+++ b/package/kernel/mac80211/patches/ath9k/450-ath9k-enabled-MFP-capability-unconditionally.patch
@@ -14,7 +14,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
 
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -963,6 +963,7 @@ static void ath9k_set_hw_capab(struct at
+@@ -965,6 +965,7 @@ static void ath9k_set_hw_capab(struct at
  	ieee80211_hw_set(hw, HOST_BROADCAST_PS_BUFFERING);
  	ieee80211_hw_set(hw, SUPPORT_FAST_XMIT);
  	ieee80211_hw_set(hw, SUPPORTS_CLONED_SKBS);
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
  
  	if (ath9k_ps_enable)
  		ieee80211_hw_set(hw, SUPPORTS_PS);
-@@ -975,9 +976,6 @@ static void ath9k_set_hw_capab(struct at
+@@ -977,9 +978,6 @@ static void ath9k_set_hw_capab(struct at
  				IEEE80211_RADIOTAP_MCS_HAVE_STBC;
  	}
  
diff --git a/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch b/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch
index 2f5e75be8a..bf6ae09a78 100644
--- a/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch
+++ b/package/kernel/mac80211/patches/ath9k/500-ath9k_eeprom_debugfs.patch
@@ -55,7 +55,7 @@
  int ath9k_init_debug(struct ath_hw *ah)
  {
  	struct ath_common *common = ath9k_hw_common(ah);
-@@ -1432,6 +1480,8 @@ int ath9k_init_debug(struct ath_hw *ah)
+@@ -1430,6 +1478,8 @@ int ath9k_init_debug(struct ath_hw *ah)
  	ath9k_tx99_init_debug(sc);
  	ath9k_cmn_spectral_init_debug(&sc->spec_priv, sc->debug.debugfs_phy);
  
diff --git a/package/kernel/mac80211/patches/ath9k/501-ath9k_ahb_init.patch b/package/kernel/mac80211/patches/ath9k/501-ath9k_ahb_init.patch
index 740ddc39dc..f4d17f5f57 100644
--- a/package/kernel/mac80211/patches/ath9k/501-ath9k_ahb_init.patch
+++ b/package/kernel/mac80211/patches/ath9k/501-ath9k_ahb_init.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -1178,25 +1178,25 @@ static int __init ath9k_init(void)
+@@ -1180,25 +1180,25 @@ static int __init ath9k_init(void)
  {
  	int error;
  
diff --git a/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch b/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch
index 94a191e0d8..70826d8179 100644
--- a/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch
+++ b/package/kernel/mac80211/patches/ath9k/512-ath9k_channelbw_debugfs.patch
@@ -53,7 +53,7 @@
  int ath9k_init_debug(struct ath_hw *ah)
  {
  	struct ath_common *common = ath9k_hw_common(ah);
-@@ -1482,6 +1528,8 @@ int ath9k_init_debug(struct ath_hw *ah)
+@@ -1480,6 +1526,8 @@ int ath9k_init_debug(struct ath_hw *ah)
  
  	debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc,
  			    &fops_eeprom);
diff --git a/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch b/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch
index 74506657e0..f4b93fb9d8 100644
--- a/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch
+++ b/package/kernel/mac80211/patches/ath9k/530-ath9k_extra_leds.patch
@@ -181,7 +181,7 @@
  
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -1088,7 +1088,7 @@ int ath9k_init_device(u16 devid, struct
+@@ -1090,7 +1090,7 @@ int ath9k_init_device(u16 devid, struct
  
  #ifdef CPTCFG_MAC80211_LEDS
  	/* must be initialized before ieee80211_register_hw */
@@ -254,7 +254,7 @@
  
  int ath9k_init_debug(struct ath_hw *ah)
  {
-@@ -1530,6 +1585,10 @@ int ath9k_init_debug(struct ath_hw *ah)
+@@ -1528,6 +1583,10 @@ int ath9k_init_debug(struct ath_hw *ah)
  			    &fops_eeprom);
  	debugfs_create_file("chanbw", S_IRUSR | S_IWUSR, sc->debug.debugfs_phy,
  			    sc, &fops_chanbw);
diff --git a/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch b/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch
index aaf1acb32d..387d7eda4b 100644
--- a/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch
+++ b/package/kernel/mac80211/patches/ath9k/542-ath9k_debugfs_diag.patch
@@ -51,7 +51,7 @@
  int ath9k_init_debug(struct ath_hw *ah)
  {
  	struct ath_common *common = ath9k_hw_common(ah);
-@@ -1589,6 +1633,8 @@ int ath9k_init_debug(struct ath_hw *ah)
+@@ -1587,6 +1631,8 @@ int ath9k_init_debug(struct ath_hw *ah)
  	debugfs_create_file("gpio_led", S_IWUSR,
  			   sc->debug.debugfs_phy, sc, &fops_gpio_led);
  #endif
diff --git a/package/kernel/mac80211/patches/ath9k/543-ath9k_entropy_from_adc.patch b/package/kernel/mac80211/patches/ath9k/543-ath9k_entropy_from_adc.patch
index 6acc864d1e..93a624e10d 100644
--- a/package/kernel/mac80211/patches/ath9k/543-ath9k_entropy_from_adc.patch
+++ b/package/kernel/mac80211/patches/ath9k/543-ath9k_entropy_from_adc.patch
@@ -55,7 +55,7 @@
  	ops->spectral_scan_config = ar9003_hw_spectral_scan_config;
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -870,7 +870,8 @@ static void ath9k_init_txpower_limits(st
+@@ -872,7 +872,8 @@ static void ath9k_init_txpower_limits(st
  	if (ah->caps.hw_caps & ATH9K_HW_CAP_5GHZ)
  		ath9k_init_band_txpower(sc, NL80211_BAND_5GHZ);
  
@@ -65,7 +65,7 @@
  }
  
  static const struct ieee80211_iface_limit if_limits[] = {
-@@ -1048,6 +1049,18 @@ static void ath9k_set_hw_capab(struct at
+@@ -1050,6 +1051,18 @@ static void ath9k_set_hw_capab(struct at
  	wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CAN_REPLACE_PTK0);
  }
  
@@ -84,7 +84,7 @@
  int ath9k_init_device(u16 devid, struct ath_softc *sc,
  		    const struct ath_bus_ops *bus_ops)
  {
-@@ -1095,6 +1108,8 @@ int ath9k_init_device(u16 devid, struct
+@@ -1097,6 +1110,8 @@ int ath9k_init_device(u16 devid, struct
  
  	wiphy_read_of_freq_limits(hw->wiphy);
  
diff --git a/package/kernel/mac80211/patches/ath9k/553-ath9k_of_gpio_mask.patch b/package/kernel/mac80211/patches/ath9k/553-ath9k_of_gpio_mask.patch
index 6d1820ecb7..46dc216765 100644
--- a/package/kernel/mac80211/patches/ath9k/553-ath9k_of_gpio_mask.patch
+++ b/package/kernel/mac80211/patches/ath9k/553-ath9k_of_gpio_mask.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/init.c
 +++ b/drivers/net/wireless/ath/ath9k/init.c
-@@ -696,6 +696,12 @@ static int ath9k_of_init(struct ath_soft
+@@ -698,6 +698,12 @@ static int ath9k_of_init(struct ath_soft
  	return 0;
  }
  
@@ -13,7 +13,7 @@
  static int ath9k_init_softc(u16 devid, struct ath_softc *sc,
  			    const struct ath_bus_ops *bus_ops)
  {
-@@ -803,6 +809,9 @@ static int ath9k_init_softc(u16 devid, s
+@@ -805,6 +811,9 @@ static int ath9k_init_softc(u16 devid, s
  	if (ret)
  		goto err_hw;
  
diff --git a/package/kernel/mac80211/patches/brcm/863-brcmfmac-add-in-driver-tables-with-country-codes.patch b/package/kernel/mac80211/patches/brcm/863-brcmfmac-add-in-driver-tables-with-country-codes.patch
index 25191b6439..e2aa84639d 100644
--- a/package/kernel/mac80211/patches/brcm/863-brcmfmac-add-in-driver-tables-with-country-codes.patch
+++ b/package/kernel/mac80211/patches/brcm/863-brcmfmac-add-in-driver-tables-with-country-codes.patch
@@ -49,9 +49,9 @@ Signed-off-by: Rafał Miłecki <rafal at milecki.pl>
  void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type,
  		    struct brcmf_mp_device *settings)
  {
-@@ -106,6 +136,8 @@ void brcmf_of_probe(struct device *dev,
- 		of_node_put(root);
+@@ -105,6 +135,8 @@ void brcmf_of_probe(struct device *dev,
  	}
+ 	of_node_put(root);
  
 +	brcmf_of_probe_cc(dev, settings);
 +
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 8df285f8b1..c5b14134e9 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
@@ -24,7 +24,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  #include "of.h"
  
  static int brcmf_of_get_country_codes(struct device *dev,
-@@ -168,3 +169,38 @@ void brcmf_of_probe(struct device *dev,
+@@ -167,3 +168,38 @@ void brcmf_of_probe(struct device *dev,
  	sdio->oob_irq_nr = irq;
  	sdio->oob_irq_flags = irqf;
  }
diff --git a/package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch b/package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch
index 121b7faad9..99be3c0636 100644
--- a/package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch
+++ b/package/kernel/mac80211/patches/build/070-remove-broken-wext-select.patch
@@ -6,5 +6,5 @@
  	depends on m
 -	select CFG80211_WEXT
  	depends on CRYPTO
+ 	depends on CRYPTO_LIB_AES
  	select BPAUTO_CRYPTO_LIB_ARC4
- 	help
diff --git a/package/kernel/mac80211/patches/build/236-fix-genlmsg_multicast_allns-build-error-on-kernel-6.6.59.patch b/package/kernel/mac80211/patches/build/236-fix-genlmsg_multicast_allns-build-error-on-kernel-6.6.59.patch
deleted file mode 100644
index 406b0a2085..0000000000
--- a/package/kernel/mac80211/patches/build/236-fix-genlmsg_multicast_allns-build-error-on-kernel-6.6.59.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-From e0f83d268974dab0361d11904dfc9acec53f96a6 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <edumazet at google.com>
-Date: Fri, 11 Oct 2024 17:12:17 +0000
-Subject: [PATCH] genetlink: hold RCU in genlmsg_mcast()
-
-[ Upstream commit 56440d7ec28d60f8da3bfa09062b3368ff9b16db ]
-
-While running net selftests with CONFIG_PROVE_RCU_LIST=y I saw
-one lockdep splat [1].
-
-genlmsg_mcast() uses for_each_net_rcu(), and must therefore hold RCU.
-
-Instead of letting all callers guard genlmsg_multicast_allns()
-with a rcu_read_lock()/rcu_read_unlock() pair, do it in genlmsg_mcast().
-
-This also means the @flags parameter is useless, we need to always use
-GFP_ATOMIC.
-
-[1]
-[10882.424136] =============================
-[10882.424166] WARNING: suspicious RCU usage
-[10882.424309] 6.12.0-rc2-virtme #1156 Not tainted
-[10882.424400] -----------------------------
-[10882.424423] net/netlink/genetlink.c:1940 RCU-list traversed in non-reader section!!
-[10882.424469]
-other info that might help us debug this:
-
-[10882.424500]
-rcu_scheduler_active = 2, debug_locks = 1
-[10882.424744] 2 locks held by ip/15677:
-[10882.424791] #0: ffffffffb6b491b0 (cb_lock){++++}-{3:3}, at: genl_rcv (net/netlink/genetlink.c:1219)
-[10882.426334] #1: ffffffffb6b49248 (genl_mutex){+.+.}-{3:3}, at: genl_rcv_msg (net/netlink/genetlink.c:61 net/netlink/genetlink.c:57 net/netlink/genetlink.c:1209)
-[10882.426465]
-stack backtrace:
-[10882.426805] CPU: 14 UID: 0 PID: 15677 Comm: ip Not tainted 6.12.0-rc2-virtme #1156
-[10882.426919] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
-[10882.427046] Call Trace:
-[10882.427131]  <TASK>
-[10882.427244] dump_stack_lvl (lib/dump_stack.c:123)
-[10882.427335] lockdep_rcu_suspicious (kernel/locking/lockdep.c:6822)
-[10882.427387] genlmsg_multicast_allns (net/netlink/genetlink.c:1940 (discriminator 7) net/netlink/genetlink.c:1977 (discriminator 7))
-[10882.427436] l2tp_tunnel_notify.constprop.0 (net/l2tp/l2tp_netlink.c:119) l2tp_netlink
-[10882.427683] l2tp_nl_cmd_tunnel_create (net/l2tp/l2tp_netlink.c:253) l2tp_netlink
-[10882.427748] genl_family_rcv_msg_doit (net/netlink/genetlink.c:1115)
-[10882.427834] genl_rcv_msg (net/netlink/genetlink.c:1195 net/netlink/genetlink.c:1210)
-[10882.427877] ? __pfx_l2tp_nl_cmd_tunnel_create (net/l2tp/l2tp_netlink.c:186) l2tp_netlink
-[10882.427927] ? __pfx_genl_rcv_msg (net/netlink/genetlink.c:1201)
-[10882.427959] netlink_rcv_skb (net/netlink/af_netlink.c:2551)
-[10882.428069] genl_rcv (net/netlink/genetlink.c:1220)
-[10882.428095] netlink_unicast (net/netlink/af_netlink.c:1332 net/netlink/af_netlink.c:1357)
-[10882.428140] netlink_sendmsg (net/netlink/af_netlink.c:1901)
-[10882.428210] ____sys_sendmsg (net/socket.c:729 (discriminator 1) net/socket.c:744 (discriminator 1) net/socket.c:2607 (discriminator 1))
-
-Fixes: 33f72e6f0c67 ("l2tp : multicast notification to the registered listeners")
-Signed-off-by: Eric Dumazet <edumazet at google.com>
-Cc: James Chapman <jchapman at katalix.com>
-Cc: Tom Parkin <tparkin at katalix.com>
-Cc: Johannes Berg <johannes.berg at intel.com>
-Link: https://patch.msgid.link/20241011171217.3166614-1-edumazet@google.com
-Signed-off-by: Jakub Kicinski <kuba at kernel.org>
-Signed-off-by: Sasha Levin <sashal at kernel.org>
----
- drivers/target/target_core_user.c |  2 +-
- include/net/genetlink.h           |  3 +--
- net/l2tp/l2tp_netlink.c           |  4 ++--
- net/netlink/genetlink.c           | 28 ++++++++++++++--------------
- net/wireless/nl80211.c            |  8 ++------
- 5 files changed, 20 insertions(+), 25 deletions(-)
-
---- a/backport-include/net/genetlink.h
-+++ b/backport-include/net/genetlink.h
-@@ -150,7 +150,7 @@ int genlmsg_multicast(const struct genl_
- #define genlmsg_multicast_allns LINUX_BACKPORT(genlmsg_multicast_allns)
- int backport_genlmsg_multicast_allns(const struct genl_family *family,
- 				     struct sk_buff *skb, u32 portid,
--				     unsigned int group, gfp_t flags);
-+				     unsigned int group);
- 
- #define genl_family_attrbuf LINUX_BACKPORT(genl_family_attrbuf)
- static inline struct nlattr **genl_family_attrbuf(struct genl_family *family)
---- a/compat/backport-genetlink.c
-+++ b/compat/backport-genetlink.c
-@@ -198,23 +198,23 @@ int genlmsg_multicast(const struct genl_
- }
- EXPORT_SYMBOL_GPL(genlmsg_multicast);
- 
--static int genlmsg_mcast(struct sk_buff *skb, u32 portid, unsigned long group,
--			 gfp_t flags)
-+static int genlmsg_mcast(struct sk_buff *skb, u32 portid, unsigned long group)
- {
- 	struct sk_buff *tmp;
- 	struct net *net, *prev = NULL;
- 	bool delivered = false;
- 	int err;
- 
-+	rcu_read_lock();
- 	for_each_net_rcu(net) {
- 		if (prev) {
--			tmp = skb_clone(skb, flags);
-+			tmp = skb_clone(skb, GFP_ATOMIC);
- 			if (!tmp) {
- 				err = -ENOMEM;
- 				goto error;
- 			}
- 			err = nlmsg_multicast(prev->genl_sock, tmp,
--					      portid, group, flags);
-+					      portid, group, GFP_ATOMIC);
- 			if (!err)
- 				delivered = true;
- 			else if (err != -ESRCH)
-@@ -223,25 +223,29 @@ static int genlmsg_mcast(struct sk_buff
- 
- 		prev = net;
- 	}
-+	err = nlmsg_multicast(prev->genl_sock, skb, portid, group, GFP_ATOMIC);
-+
-+	rcu_read_unlock();
- 
--	err = nlmsg_multicast(prev->genl_sock, skb, portid, group, flags);
- 	if (!err)
- 		delivered = true;
- 	else if (err != -ESRCH)
- 		return err;
- 	return delivered ? 0 : -ESRCH;
-  error:
-+	rcu_read_unlock();
-+
- 	kfree_skb(skb);
- 	return err;
- }
- 
- int backport_genlmsg_multicast_allns(const struct genl_family *family,
- 				     struct sk_buff *skb, u32 portid,
--				     unsigned int group, gfp_t flags)
-+				     unsigned int group)
- {
- 	group = __backport_genl_group(family, group);
- 	if (group == INVALID_GROUP)
- 		return -EINVAL;
--	return genlmsg_mcast(skb, portid, group, flags);
-+	return genlmsg_mcast(skb, portid, group);
- }
- EXPORT_SYMBOL_GPL(backport_genlmsg_multicast_allns);
---- a/net/wireless/nl80211.c
-+++ b/net/wireless/nl80211.c
-@@ -17627,10 +17627,8 @@ void nl80211_common_reg_change_event(enu
- 
- 	genlmsg_end(msg, hdr);
- 
--	rcu_read_lock();
- 	genlmsg_multicast_allns(&nl80211_fam, msg, 0,
--				NL80211_MCGRP_REGULATORY, GFP_ATOMIC);
--	rcu_read_unlock();
-+				NL80211_MCGRP_REGULATORY);
- 
- 	return;
- 
-@@ -18248,10 +18246,8 @@ void nl80211_send_beacon_hint_event(stru
- 
- 	genlmsg_end(msg, hdr);
- 
--	rcu_read_lock();
- 	genlmsg_multicast_allns(&nl80211_fam, msg, 0,
--				NL80211_MCGRP_REGULATORY, GFP_ATOMIC);
--	rcu_read_unlock();
-+				NL80211_MCGRP_REGULATORY);
- 
- 	return;
- 
diff --git a/package/kernel/mac80211/patches/build/300-backports-handle-genlmsg_multicast_allns-upstream-ba.patch b/package/kernel/mac80211/patches/build/300-backports-handle-genlmsg_multicast_allns-upstream-ba.patch
index 5ab6bb736d..7ad5eb96f9 100644
--- a/package/kernel/mac80211/patches/build/300-backports-handle-genlmsg_multicast_allns-upstream-ba.patch
+++ b/package/kernel/mac80211/patches/build/300-backports-handle-genlmsg_multicast_allns-upstream-ba.patch
@@ -17,8 +17,8 @@ Signed-off-by: Christian Marangi <ansuelsmth at gmail.com>
 
 --- a/backport-include/net/genetlink.h
 +++ b/backport-include/net/genetlink.h
-@@ -172,4 +172,15 @@ static inline int genlmsg_parse(const st
- }
+@@ -192,4 +192,15 @@ int backport_genlmsg_multicast_allns(con
+ #define genlmsg_multicast_allns LINUX_BACKPORT(genlmsg_multicast_allns)
  #endif /* LINUX_VERSION_IS_LESS(5,2,0) */
  
 +#if LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) || \
diff --git a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch
index 03732681e0..e6ddb867a0 100644
--- a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch
+++ b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch
@@ -8,7 +8,7 @@ Subject: [PATCH] mac80211: allow scans in access point mode (for site survey)
 
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -2734,6 +2734,8 @@ static int ieee80211_scan(struct wiphy *
+@@ -2735,6 +2735,8 @@ static int ieee80211_scan(struct wiphy *
  		 */
  		fallthrough;
  	case NL80211_IFTYPE_AP:
diff --git a/package/kernel/mac80211/patches/subsys/306-01-v6.2-wifi-mac80211-add-internal-handler-for-wake_tx_queue.patch b/package/kernel/mac80211/patches/subsys/306-01-v6.2-wifi-mac80211-add-internal-handler-for-wake_tx_queue.patch
index 606ca335b9..5d610ac3ba 100644
--- a/package/kernel/mac80211/patches/subsys/306-01-v6.2-wifi-mac80211-add-internal-handler-for-wake_tx_queue.patch
+++ b/package/kernel/mac80211/patches/subsys/306-01-v6.2-wifi-mac80211-add-internal-handler-for-wake_tx_queue.patch
@@ -51,7 +51,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   *
   * Drivers can optionally delegate responsibility for scheduling queues to
   * mac80211, to take advantage of airtime fairness accounting. In this case, to
-@@ -2257,8 +2258,8 @@ struct ieee80211_link_sta {
+@@ -2258,8 +2259,8 @@ struct ieee80211_link_sta {
   *	For non MLO STA it will point to the deflink data. For MLO STA
   *	ieee80211_sta_recalc_aggregates() must be called to update it.
   * @support_p2p_ps: indicates whether the STA supports P2P PS mechanism or not.
@@ -62,7 +62,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   * @deflink: This holds the default link STA information, for non MLO STA all link
   *	specific STA information is accessed through @deflink or through
   *	link[0] which points to address of @deflink. For MLO Link STA
-@@ -5700,7 +5701,7 @@ void ieee80211_key_replay(struct ieee802
+@@ -5714,7 +5715,7 @@ void ieee80211_key_replay(struct ieee802
   * @hw: pointer as obtained from ieee80211_alloc_hw().
   * @queue: queue number (counted from zero).
   *
@@ -71,7 +71,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   */
  void ieee80211_wake_queue(struct ieee80211_hw *hw, int queue);
  
-@@ -5709,7 +5710,7 @@ void ieee80211_wake_queue(struct ieee802
+@@ -5723,7 +5724,7 @@ void ieee80211_wake_queue(struct ieee802
   * @hw: pointer as obtained from ieee80211_alloc_hw().
   * @queue: queue number (counted from zero).
   *
@@ -80,7 +80,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   */
  void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue);
  
-@@ -5718,7 +5719,7 @@ void ieee80211_stop_queue(struct ieee802
+@@ -5732,7 +5733,7 @@ void ieee80211_stop_queue(struct ieee802
   * @hw: pointer as obtained from ieee80211_alloc_hw().
   * @queue: queue number (counted from zero).
   *
@@ -89,7 +89,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   *
   * Return: %true if the queue is stopped. %false otherwise.
   */
-@@ -5729,7 +5730,7 @@ int ieee80211_queue_stopped(struct ieee8
+@@ -5743,7 +5744,7 @@ int ieee80211_queue_stopped(struct ieee8
   * ieee80211_stop_queues - stop all queues
   * @hw: pointer as obtained from ieee80211_alloc_hw().
   *
@@ -98,7 +98,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   */
  void ieee80211_stop_queues(struct ieee80211_hw *hw);
  
-@@ -5737,7 +5738,7 @@ void ieee80211_stop_queues(struct ieee80
+@@ -5751,7 +5752,7 @@ void ieee80211_stop_queues(struct ieee80
   * ieee80211_wake_queues - wake all queues
   * @hw: pointer as obtained from ieee80211_alloc_hw().
   *
@@ -107,7 +107,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   */
  void ieee80211_wake_queues(struct ieee80211_hw *hw);
  
-@@ -6960,6 +6961,18 @@ static inline struct sk_buff *ieee80211_
+@@ -6974,6 +6975,18 @@ static inline struct sk_buff *ieee80211_
  }
  
  /**
diff --git a/package/kernel/mac80211/patches/subsys/306-02-v6.2-wifi-mac80211-add-wake_tx_queue-callback-to-drivers.patch b/package/kernel/mac80211/patches/subsys/306-02-v6.2-wifi-mac80211-add-wake_tx_queue-callback-to-drivers.patch
index b8554fb655..4c69b03bb3 100644
--- a/package/kernel/mac80211/patches/subsys/306-02-v6.2-wifi-mac80211-add-wake_tx_queue-callback-to-drivers.patch
+++ b/package/kernel/mac80211/patches/subsys/306-02-v6.2-wifi-mac80211-add-wake_tx_queue-callback-to-drivers.patch
@@ -36,7 +36,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	.remove_interface	= ar5523_remove_interface,
 --- a/drivers/net/wireless/ath/ath11k/mac.c
 +++ b/drivers/net/wireless/ath/ath11k/mac.c
-@@ -8599,6 +8599,7 @@ err_fallback:
+@@ -8601,6 +8601,7 @@ err_fallback:
  
  static const struct ieee80211_ops ath11k_ops = {
  	.tx				= ath11k_mac_op_tx,
@@ -166,7 +166,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	.add_interface		= p54_add_interface,
 --- a/drivers/net/wireless/mac80211_hwsim.c
 +++ b/drivers/net/wireless/mac80211_hwsim.c
-@@ -3109,6 +3109,7 @@ static int mac80211_hwsim_change_sta_lin
+@@ -3114,6 +3114,7 @@ static int mac80211_hwsim_change_sta_lin
  
  #define HWSIM_COMMON_OPS					\
  	.tx = mac80211_hwsim_tx,				\
@@ -306,7 +306,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	.add_interface		= rtl8187_add_interface,
 --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
 +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c
-@@ -6546,6 +6546,7 @@ static void rtl8xxxu_stop(struct ieee802
+@@ -6553,6 +6553,7 @@ static void rtl8xxxu_stop(struct ieee802
  
  static const struct ieee80211_ops rtl8xxxu_ops = {
  	.tx = rtl8xxxu_tx,
@@ -336,7 +336,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	.stop			= rtw_ops_stop,
 --- a/drivers/net/wireless/realtek/rtw89/mac80211.c
 +++ b/drivers/net/wireless/realtek/rtw89/mac80211.c
-@@ -916,6 +916,7 @@ static int rtw89_ops_set_tid_config(stru
+@@ -918,6 +918,7 @@ static int rtw89_ops_set_tid_config(stru
  
  const struct ieee80211_ops rtw89_ops = {
  	.tx			= rtw89_ops_tx,
diff --git a/package/kernel/mac80211/patches/subsys/306-03-v6.2-wifi-mac80211-Drop-support-for-TX-push-path.patch b/package/kernel/mac80211/patches/subsys/306-03-v6.2-wifi-mac80211-Drop-support-for-TX-push-path.patch
index e7452eb3a7..b033da7d54 100644
--- a/package/kernel/mac80211/patches/subsys/306-03-v6.2-wifi-mac80211-Drop-support-for-TX-push-path.patch
+++ b/package/kernel/mac80211/patches/subsys/306-03-v6.2-wifi-mac80211-Drop-support-for-TX-push-path.patch
@@ -11,7 +11,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
 
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -4359,9 +4359,6 @@ static int ieee80211_get_txq_stats(struc
+@@ -4361,9 +4361,6 @@ static int ieee80211_get_txq_stats(struc
  	struct ieee80211_sub_if_data *sdata;
  	int ret = 0;
  
@@ -63,7 +63,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  				    NL80211_EXT_FEATURE_AQL))
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -2301,7 +2301,6 @@ void ieee80211_wake_queue_by_reason(stru
+@@ -2299,7 +2299,6 @@ void ieee80211_wake_queue_by_reason(stru
  void ieee80211_stop_queue_by_reason(struct ieee80211_hw *hw, int queue,
  				    enum queue_stop_reason reason,
  				    bool refcounted);
@@ -73,7 +73,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  void ieee80211_add_pending_skbs(struct ieee80211_local *local,
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
-@@ -481,12 +481,6 @@ static void ieee80211_do_stop(struct iee
+@@ -482,12 +482,6 @@ static void ieee80211_do_stop(struct iee
  	if (cancel_scan)
  		ieee80211_scan_cancel(local);
  
@@ -86,7 +86,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	ieee80211_roc_purge(local, sdata);
  
  	switch (sdata->vif.type) {
-@@ -834,25 +828,6 @@ static void ieee80211_uninit(struct net_
+@@ -852,25 +846,6 @@ static void ieee80211_uninit(struct net_
  	ieee80211_teardown_sdata(IEEE80211_DEV_TO_SUB_IF(dev));
  }
  
@@ -112,7 +112,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  static void
  ieee80211_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats)
  {
-@@ -866,7 +841,6 @@ static const struct net_device_ops ieee8
+@@ -884,7 +859,6 @@ static const struct net_device_ops ieee8
  	.ndo_start_xmit		= ieee80211_subif_start_xmit,
  	.ndo_set_rx_mode	= ieee80211_set_multicast_list,
  	.ndo_set_mac_address 	= ieee80211_change_mac,
@@ -120,7 +120,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	.ndo_get_stats64	= ieee80211_get_stats64,
  };
  
-@@ -988,7 +962,6 @@ static const struct net_device_ops ieee8
+@@ -1006,7 +980,6 @@ static const struct net_device_ops ieee8
  	.ndo_start_xmit		= ieee80211_subif_start_xmit_8023,
  	.ndo_set_rx_mode	= ieee80211_set_multicast_list,
  	.ndo_set_mac_address	= ieee80211_change_mac,
@@ -128,7 +128,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	.ndo_get_stats64	= ieee80211_get_stats64,
  #if LINUX_VERSION_IS_GEQ(5,13,0)
  	.ndo_fill_forward_path	= ieee80211_netdev_fill_forward_path,
-@@ -1492,35 +1465,6 @@ int ieee80211_do_open(struct wireless_de
+@@ -1510,35 +1483,6 @@ int ieee80211_do_open(struct wireless_de
  
  	ieee80211_recalc_ps(local);
  
@@ -164,7 +164,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	set_bit(SDATA_STATE_RUNNING, &sdata->state);
  
  	return 0;
-@@ -1550,17 +1494,12 @@ static void ieee80211_if_setup(struct ne
+@@ -1568,17 +1512,12 @@ static void ieee80211_if_setup(struct ne
  {
  	ether_setup(dev);
  	dev->priv_flags &= ~IFF_TX_SKB_SHARING;
@@ -183,7 +183,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  static void ieee80211_iface_process_skb(struct ieee80211_local *local,
  					struct ieee80211_sub_if_data *sdata,
  					struct sk_buff *skb)
-@@ -2145,9 +2084,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -2163,9 +2102,7 @@ int ieee80211_if_add(struct ieee80211_lo
  	struct net_device *ndev = NULL;
  	struct ieee80211_sub_if_data *sdata = NULL;
  	struct txq_info *txqi;
@@ -193,7 +193,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
  	ASSERT_RTNL();
  
-@@ -2170,30 +2107,18 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -2188,30 +2125,18 @@ int ieee80211_if_add(struct ieee80211_lo
  				 sizeof(void *));
  		int txq_size = 0;
  
@@ -228,7 +228,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		ndev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
 --- a/net/mac80211/main.c
 +++ b/net/mac80211/main.c
-@@ -634,7 +634,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -636,7 +636,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
  
  	if (WARN_ON(!ops->tx || !ops->start || !ops->stop || !ops->config ||
  		    !ops->add_interface || !ops->remove_interface ||
@@ -237,7 +237,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		return NULL;
  
  	if (WARN_ON(ops->sta_state && (ops->sta_add || ops->sta_remove)))
-@@ -723,9 +723,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -725,9 +725,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
  	if (!ops->set_key)
  		wiphy->flags |= WIPHY_FLAG_IBSS_RSN;
  
@@ -248,7 +248,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_RRM);
  
  	wiphy->bss_priv_size = sizeof(struct ieee80211_bss);
-@@ -838,10 +836,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -840,10 +838,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
  		atomic_set(&local->agg_queue_stop[i], 0);
  	}
  	tasklet_setup(&local->tx_pending_tasklet, ieee80211_tx_pending);
@@ -466,7 +466,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	}
  	spin_unlock_irqrestore(&local->queue_stop_reason_lock, flags);
  
-@@ -5970,10 +5951,9 @@ int ieee80211_tx_control_port(struct wip
+@@ -5972,10 +5953,9 @@ int ieee80211_tx_control_port(struct wip
  	}
  
  	if (!IS_ERR(sta)) {
diff --git a/package/kernel/mac80211/patches/subsys/306-04-v6.2-wifi-realtek-remove-duplicated-wake_tx_queue.patch b/package/kernel/mac80211/patches/subsys/306-04-v6.2-wifi-realtek-remove-duplicated-wake_tx_queue.patch
index 9afefa38cc..7d60b69cb3 100644
--- a/package/kernel/mac80211/patches/subsys/306-04-v6.2-wifi-realtek-remove-duplicated-wake_tx_queue.patch
+++ b/package/kernel/mac80211/patches/subsys/306-04-v6.2-wifi-realtek-remove-duplicated-wake_tx_queue.patch
@@ -22,7 +22,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	.stop			= rtw_ops_stop,
 --- a/drivers/net/wireless/realtek/rtw89/mac80211.c
 +++ b/drivers/net/wireless/realtek/rtw89/mac80211.c
-@@ -916,7 +916,6 @@ static int rtw89_ops_set_tid_config(stru
+@@ -918,7 +918,6 @@ static int rtw89_ops_set_tid_config(stru
  
  const struct ieee80211_ops rtw89_ops = {
  	.tx			= rtw89_ops_tx,
diff --git a/package/kernel/mac80211/patches/subsys/310-v6.2-mac80211-add-support-for-restricting-netdev-features.patch b/package/kernel/mac80211/patches/subsys/310-v6.2-mac80211-add-support-for-restricting-netdev-features.patch
index ecc7048983..7a5a82e3de 100644
--- a/package/kernel/mac80211/patches/subsys/310-v6.2-mac80211-add-support-for-restricting-netdev-features.patch
+++ b/package/kernel/mac80211/patches/subsys/310-v6.2-mac80211-add-support-for-restricting-netdev-features.patch
@@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  		flow = fq_find_fattest_flow(fq);
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -1816,6 +1816,10 @@ struct ieee80211_vif_cfg {
+@@ -1817,6 +1817,10 @@ struct ieee80211_vif_cfg {
   * @addr: address of this interface
   * @p2p: indicates whether this AP or STA interface is a p2p
   *	interface, i.e. a GO or p2p-sta respectively
@@ -70,7 +70,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
   * @driver_flags: flags/capabilities the driver has for this interface,
   *	these need to be set (or cleared) when the interface is added
   *	or, if supported by the driver, the interface type is changed
-@@ -1855,6 +1859,7 @@ struct ieee80211_vif {
+@@ -1856,6 +1860,7 @@ struct ieee80211_vif {
  
  	struct ieee80211_txq *txq;
  
@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
-@@ -2218,6 +2218,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -2236,6 +2236,7 @@ int ieee80211_if_add(struct ieee80211_lo
  		ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
  		ndev->hw_features |= ndev->features &
  					MAC80211_SUPPORTED_FEATURES_TX;
diff --git a/package/kernel/mac80211/patches/subsys/319-wifi-mac80211-mesh-fast-xmit-support.patch b/package/kernel/mac80211/patches/subsys/319-wifi-mac80211-mesh-fast-xmit-support.patch
index 05324b1054..2b9c35a799 100644
--- a/package/kernel/mac80211/patches/subsys/319-wifi-mac80211-mesh-fast-xmit-support.patch
+++ b/package/kernel/mac80211/patches/subsys/319-wifi-mac80211-mesh-fast-xmit-support.patch
@@ -68,7 +68,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  };
  
  #ifdef CPTCFG_MAC80211_MESH
-@@ -2009,6 +2024,11 @@ int ieee80211_tx_control_port(struct wip
+@@ -2007,6 +2022,11 @@ int ieee80211_tx_control_port(struct wip
  			      int link_id, u64 *cookie);
  int ieee80211_probe_mesh_link(struct wiphy *wiphy, struct net_device *dev,
  			      const u8 *buf, size_t len);
@@ -262,7 +262,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  static inline
 --- a/net/mac80211/mesh_hwmp.c
 +++ b/net/mac80211/mesh_hwmp.c
-@@ -394,6 +394,7 @@ static u32 hwmp_route_info_get(struct ie
+@@ -400,6 +400,7 @@ static u32 hwmp_route_info_get(struct ie
  	u32 orig_sn, orig_metric;
  	unsigned long orig_lifetime, exp_time;
  	u32 last_hop_metric, new_metric;
@@ -270,7 +270,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	bool process = true;
  	u8 hopcount;
  
-@@ -491,8 +492,10 @@ static u32 hwmp_route_info_get(struct ie
+@@ -497,8 +498,10 @@ static u32 hwmp_route_info_get(struct ie
  		}
  
  		if (fresh_info) {
@@ -282,7 +282,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  			mesh_path_assign_nexthop(mpath, sta);
  			mpath->flags |= MESH_PATH_SN_VALID;
  			mpath->metric = new_metric;
-@@ -502,6 +505,8 @@ static u32 hwmp_route_info_get(struct ie
+@@ -508,6 +511,8 @@ static u32 hwmp_route_info_get(struct ie
  			mpath->hop_count = hopcount;
  			mesh_path_activate(mpath);
  			spin_unlock_bh(&mpath->state_lock);
@@ -291,7 +291,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  			ewma_mesh_fail_avg_init(&sta->mesh->fail_avg);
  			/* init it at a low value - 0 start is tricky */
  			ewma_mesh_fail_avg_add(&sta->mesh->fail_avg, 1);
-@@ -539,8 +544,10 @@ static u32 hwmp_route_info_get(struct ie
+@@ -545,8 +550,10 @@ static u32 hwmp_route_info_get(struct ie
  		}
  
  		if (fresh_info) {
@@ -303,7 +303,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  			mesh_path_assign_nexthop(mpath, sta);
  			mpath->metric = last_hop_metric;
  			mpath->exp_time = time_after(mpath->exp_time, exp_time)
-@@ -548,6 +555,8 @@ static u32 hwmp_route_info_get(struct ie
+@@ -554,6 +561,8 @@ static u32 hwmp_route_info_get(struct ie
  			mpath->hop_count = 1;
  			mesh_path_activate(mpath);
  			spin_unlock_bh(&mpath->state_lock);
@@ -312,7 +312,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  			ewma_mesh_fail_avg_init(&sta->mesh->fail_avg);
  			/* init it at a low value - 0 start is tricky */
  			ewma_mesh_fail_avg_add(&sta->mesh->fail_avg, 1);
-@@ -1215,6 +1224,20 @@ static int mesh_nexthop_lookup_nolearn(s
+@@ -1223,6 +1232,20 @@ static int mesh_nexthop_lookup_nolearn(s
  	return 0;
  }
  
@@ -333,7 +333,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  /**
   * mesh_nexthop_lookup - put the appropriate next hop on a mesh frame. Calling
   * this function is considered "using" the associated mpath, so preempt a path
-@@ -1242,19 +1265,15 @@ int mesh_nexthop_lookup(struct ieee80211
+@@ -1250,19 +1273,15 @@ int mesh_nexthop_lookup(struct ieee80211
  	if (!mpath || !(mpath->flags & MESH_PATH_ACTIVE))
  		return -ENOENT;
  
diff --git a/package/kernel/mac80211/patches/subsys/320-wifi-mac80211-use-mesh-header-cache-to-speed-up-mesh.patch b/package/kernel/mac80211/patches/subsys/320-wifi-mac80211-use-mesh-header-cache-to-speed-up-mesh.patch
index 655626acd2..647f0f4c81 100644
--- a/package/kernel/mac80211/patches/subsys/320-wifi-mac80211-use-mesh-header-cache-to-speed-up-mesh.patch
+++ b/package/kernel/mac80211/patches/subsys/320-wifi-mac80211-use-mesh-header-cache-to-speed-up-mesh.patch
@@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  rx_accept:
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -2029,6 +2029,8 @@ void __ieee80211_xmit_fast(struct ieee80
+@@ -2027,6 +2027,8 @@ void __ieee80211_xmit_fast(struct ieee80
  			   struct ieee80211_fast_tx *fast_tx,
  			   struct sk_buff *skb, bool ampdu,
  			   const u8 *da, const u8 *sa);
diff --git a/package/kernel/mac80211/patches/subsys/325-wifi-mac80211-introduce-ieee80211_refresh_tx_agg_ses.patch b/package/kernel/mac80211/patches/subsys/325-wifi-mac80211-introduce-ieee80211_refresh_tx_agg_ses.patch
index b33574a35a..0f250e880b 100644
--- a/package/kernel/mac80211/patches/subsys/325-wifi-mac80211-introduce-ieee80211_refresh_tx_agg_ses.patch
+++ b/package/kernel/mac80211/patches/subsys/325-wifi-mac80211-introduce-ieee80211_refresh_tx_agg_ses.patch
@@ -13,7 +13,7 @@ Signed-off-by: Ryder Lee <ryder.lee at mediatek.com>
 
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -5977,6 +5977,18 @@ void ieee80211_queue_delayed_work(struct
+@@ -5991,6 +5991,18 @@ void ieee80211_queue_delayed_work(struct
  				  unsigned long delay);
  
  /**
diff --git a/package/kernel/mac80211/patches/subsys/326-wifi-mac80211-add-mesh-fast-rx-support.patch b/package/kernel/mac80211/patches/subsys/326-wifi-mac80211-add-mesh-fast-rx-support.patch
index 4251bfdb94..5e60a48f82 100644
--- a/package/kernel/mac80211/patches/subsys/326-wifi-mac80211-add-mesh-fast-rx-support.patch
+++ b/package/kernel/mac80211/patches/subsys/326-wifi-mac80211-add-mesh-fast-rx-support.patch
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -4580,6 +4580,12 @@ void ieee80211_check_fast_rx(struct sta_
+@@ -4584,6 +4584,12 @@ void ieee80211_check_fast_rx(struct sta_
  		}
  
  		break;
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	default:
  		goto clear;
  	}
-@@ -4788,6 +4794,7 @@ static bool ieee80211_invoke_fast_rx(str
+@@ -4792,6 +4798,7 @@ static bool ieee80211_invoke_fast_rx(str
  	struct sk_buff *skb = rx->skb;
  	struct ieee80211_hdr *hdr = (void *)skb->data;
  	struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
@@ -31,7 +31,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  	int orig_len = skb->len;
  	int hdrlen = ieee80211_hdrlen(hdr->frame_control);
  	int snap_offs = hdrlen;
-@@ -4849,7 +4856,8 @@ static bool ieee80211_invoke_fast_rx(str
+@@ -4853,7 +4860,8 @@ static bool ieee80211_invoke_fast_rx(str
  		snap_offs += IEEE80211_CCMP_HDR_LEN;
  	}
  
@@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  		if (!pskb_may_pull(skb, snap_offs + sizeof(*payload)))
  			return false;
  
-@@ -4888,13 +4896,29 @@ static bool ieee80211_invoke_fast_rx(str
+@@ -4892,13 +4900,29 @@ static bool ieee80211_invoke_fast_rx(str
  	/* do the header conversion - first grab the addresses */
  	ether_addr_copy(addrs.da, skb->data + fast_rx->da_offs);
  	ether_addr_copy(addrs.sa, skb->data + fast_rx->sa_offs);
diff --git a/package/kernel/mac80211/patches/subsys/327-wifi-mac80211-add-support-for-letting-drivers-regist.patch b/package/kernel/mac80211/patches/subsys/327-wifi-mac80211-add-support-for-letting-drivers-regist.patch
index 8ca18df2da..00dd5aec40 100644
--- a/package/kernel/mac80211/patches/subsys/327-wifi-mac80211-add-support-for-letting-drivers-regist.patch
+++ b/package/kernel/mac80211/patches/subsys/327-wifi-mac80211-add-support-for-letting-drivers-regist.patch
@@ -12,7 +12,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -4201,6 +4201,10 @@ struct ieee80211_prep_tx_info {
+@@ -4215,6 +4215,10 @@ struct ieee80211_prep_tx_info {
   *	Note that a sta can also be inserted or removed with valid links,
   *	i.e. passed to @sta_add/@sta_state with sta->valid_links not zero.
   *	In fact, cannot change from having valid_links and not having them.
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
   */
  struct ieee80211_ops {
  	void (*tx)(struct ieee80211_hw *hw,
-@@ -4556,6 +4560,11 @@ struct ieee80211_ops {
+@@ -4570,6 +4574,11 @@ struct ieee80211_ops {
  				struct ieee80211_vif *vif,
  				struct ieee80211_sta *sta,
  				u16 old_links, u16 new_links);
@@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  					 MAC80211_SUPPORTED_FEATURES_RX)
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
-@@ -834,6 +834,21 @@ ieee80211_get_stats64(struct net_device
+@@ -852,6 +852,21 @@ ieee80211_get_stats64(struct net_device
  	dev_fetch_sw_netstats(stats, dev->tstats);
  }
  
@@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  static const struct net_device_ops ieee80211_dataif_ops = {
  	.ndo_open		= ieee80211_open,
  	.ndo_stop		= ieee80211_stop,
-@@ -842,6 +857,7 @@ static const struct net_device_ops ieee8
+@@ -860,6 +875,7 @@ static const struct net_device_ops ieee8
  	.ndo_set_rx_mode	= ieee80211_set_multicast_list,
  	.ndo_set_mac_address 	= ieee80211_change_mac,
  	.ndo_get_stats64	= ieee80211_get_stats64,
@@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  };
  
  #if LINUX_VERSION_IS_GEQ(5,2,0)
-@@ -966,6 +982,7 @@ static const struct net_device_ops ieee8
+@@ -984,6 +1000,7 @@ static const struct net_device_ops ieee8
  #if LINUX_VERSION_IS_GEQ(5,13,0)
  	.ndo_fill_forward_path	= ieee80211_netdev_fill_forward_path,
  #endif
diff --git a/package/kernel/mac80211/patches/subsys/332-wifi-iwlwifi-mvm-support-flush-on-AP-interfaces.patch b/package/kernel/mac80211/patches/subsys/332-wifi-iwlwifi-mvm-support-flush-on-AP-interfaces.patch
index 97b1454e2e..507d322d7c 100644
--- a/package/kernel/mac80211/patches/subsys/332-wifi-iwlwifi-mvm-support-flush-on-AP-interfaces.patch
+++ b/package/kernel/mac80211/patches/subsys/332-wifi-iwlwifi-mvm-support-flush-on-AP-interfaces.patch
@@ -12,7 +12,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman at intel.com>
 
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
-@@ -4844,9 +4844,6 @@ static void iwl_mvm_mac_flush(struct iee
+@@ -4848,9 +4848,6 @@ static void iwl_mvm_mac_flush(struct iee
  		return;
  	}
  
@@ -22,7 +22,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman at intel.com>
  	/* Make sure we're done with the deferred traffic before flushing */
  	flush_work(&mvm->add_stream_wk);
  
-@@ -4864,9 +4861,6 @@ static void iwl_mvm_mac_flush(struct iee
+@@ -4868,9 +4865,6 @@ static void iwl_mvm_mac_flush(struct iee
  		if (mvmsta->vif != vif)
  			continue;
  
diff --git a/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-add-flush_sta-method.patch b/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-add-flush_sta-method.patch
index 25a101e86c..66abec1a7d 100644
--- a/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-add-flush_sta-method.patch
+++ b/package/kernel/mac80211/patches/subsys/333-wifi-mac80211-add-flush_sta-method.patch
@@ -12,7 +12,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman at intel.com>
 
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -3927,6 +3927,10 @@ struct ieee80211_prep_tx_info {
+@@ -3941,6 +3941,10 @@ struct ieee80211_prep_tx_info {
   *	Note that vif can be NULL.
   *	The callback can sleep.
   *
@@ -23,7 +23,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman at intel.com>
   * @channel_switch: Drivers that need (or want) to offload the channel
   *	switch operation for CSAs received from the AP may implement this
   *	callback. They must then call ieee80211_chswitch_done() to indicate
-@@ -4381,6 +4385,8 @@ struct ieee80211_ops {
+@@ -4395,6 +4399,8 @@ struct ieee80211_ops {
  #endif
  	void (*flush)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
  		      u32 queues, bool drop);
diff --git a/package/kernel/mac80211/patches/subsys/334-wifi-iwlwifi-mvm-support-new-flush_sta-method.patch b/package/kernel/mac80211/patches/subsys/334-wifi-iwlwifi-mvm-support-new-flush_sta-method.patch
index eae5a38e2f..acc7d955a3 100644
--- a/package/kernel/mac80211/patches/subsys/334-wifi-iwlwifi-mvm-support-new-flush_sta-method.patch
+++ b/package/kernel/mac80211/patches/subsys/334-wifi-iwlwifi-mvm-support-new-flush_sta-method.patch
@@ -11,7 +11,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman at intel.com>
 
 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
 +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
-@@ -4880,6 +4880,31 @@ static void iwl_mvm_mac_flush(struct iee
+@@ -4887,6 +4887,31 @@ static void iwl_mvm_mac_flush(struct iee
  		iwl_trans_wait_tx_queues_empty(mvm->trans, msk);
  }
  
@@ -43,7 +43,7 @@ Reviewed-by: Greenman, Gregory <gregory.greenman at intel.com>
  static int iwl_mvm_mac_get_survey(struct ieee80211_hw *hw, int idx,
  				  struct survey_info *survey)
  {
-@@ -5407,6 +5432,7 @@ const struct ieee80211_ops iwl_mvm_hw_op
+@@ -5414,6 +5439,7 @@ const struct ieee80211_ops iwl_mvm_hw_op
  	.mgd_complete_tx = iwl_mvm_mac_mgd_complete_tx,
  	.mgd_protect_tdls_discover = iwl_mvm_mac_mgd_protect_tdls_discover,
  	.flush = iwl_mvm_mac_flush,
diff --git a/package/kernel/mac80211/patches/subsys/336-v6.4-wifi-mac80211-generate-EMA-beacons-in-AP-mode.patch b/package/kernel/mac80211/patches/subsys/336-v6.4-wifi-mac80211-generate-EMA-beacons-in-AP-mode.patch
index dd8185ba19..b97b5e174e 100644
--- a/package/kernel/mac80211/patches/subsys/336-v6.4-wifi-mac80211-generate-EMA-beacons-in-AP-mode.patch
+++ b/package/kernel/mac80211/patches/subsys/336-v6.4-wifi-mac80211-generate-EMA-beacons-in-AP-mode.patch
@@ -38,7 +38,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
 
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -5265,6 +5265,74 @@ ieee80211_beacon_get_template(struct iee
+@@ -5279,6 +5279,74 @@ ieee80211_beacon_get_template(struct iee
  			      unsigned int link_id);
  
  /**
@@ -129,7 +129,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	}
  
  	new = kzalloc(size, GFP_KERNEL);
-@@ -3396,8 +3396,11 @@ cfg80211_beacon_dup(struct cfg80211_beac
+@@ -3398,8 +3398,11 @@ cfg80211_beacon_dup(struct cfg80211_beac
  
  	len = beacon->head_len + beacon->tail_len + beacon->beacon_ies_len +
  	      beacon->proberesp_ies_len + beacon->assocresp_ies_len +
@@ -222,7 +222,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			offs->mbssid_off = skb->len - mbssid_len;
  		}
  
-@@ -5288,12 +5298,51 @@ ieee80211_beacon_get_ap(struct ieee80211
+@@ -5290,12 +5300,51 @@ ieee80211_beacon_get_ap(struct ieee80211
  	return skb;
  }
  
@@ -275,7 +275,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	struct ieee80211_local *local = hw_to_local(hw);
  	struct beacon_data *beacon = NULL;
-@@ -5322,8 +5371,29 @@ __ieee80211_beacon_get(struct ieee80211_
+@@ -5324,8 +5373,29 @@ __ieee80211_beacon_get(struct ieee80211_
  		if (!beacon)
  			goto out;
  
@@ -307,7 +307,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	} else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
  		struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
  		struct ieee80211_hdr *hdr;
-@@ -5411,10 +5481,50 @@ ieee80211_beacon_get_template(struct iee
+@@ -5413,10 +5483,50 @@ ieee80211_beacon_get_template(struct iee
  			      struct ieee80211_mutable_offsets *offs,
  			      unsigned int link_id)
  {
@@ -359,7 +359,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
  					 struct ieee80211_vif *vif,
  					 u16 *tim_offset, u16 *tim_length,
-@@ -5422,7 +5532,9 @@ struct sk_buff *ieee80211_beacon_get_tim
+@@ -5424,7 +5534,9 @@ struct sk_buff *ieee80211_beacon_get_tim
  {
  	struct ieee80211_mutable_offsets offs = {};
  	struct sk_buff *bcn = __ieee80211_beacon_get(hw, vif, &offs, false,
diff --git a/package/kernel/mac80211/patches/subsys/340-cfg80211-allow-grace-period-for-DFS-available-after-.patch b/package/kernel/mac80211/patches/subsys/340-cfg80211-allow-grace-period-for-DFS-available-after-.patch
index 8f36e1880b..766eccfebf 100644
--- a/package/kernel/mac80211/patches/subsys/340-cfg80211-allow-grace-period-for-DFS-available-after-.patch
+++ b/package/kernel/mac80211/patches/subsys/340-cfg80211-allow-grace-period-for-DFS-available-after-.patch
@@ -113,7 +113,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  {
 --- a/net/wireless/core.h
 +++ b/net/wireless/core.h
-@@ -497,6 +497,8 @@ void cfg80211_set_dfs_state(struct wiphy
+@@ -491,6 +491,8 @@ void cfg80211_set_dfs_state(struct wiphy
  			    enum nl80211_dfs_state dfs_state);
  
  void cfg80211_dfs_channels_update_work(struct work_struct *work);
diff --git a/package/kernel/mac80211/patches/subsys/341-v6.2-cfg80211-Update-Transition-Disable-policy-during-por.patch b/package/kernel/mac80211/patches/subsys/341-v6.2-cfg80211-Update-Transition-Disable-policy-during-por.patch
index 915bf735bf..a79b872e90 100644
--- a/package/kernel/mac80211/patches/subsys/341-v6.2-cfg80211-Update-Transition-Disable-policy-during-por.patch
+++ b/package/kernel/mac80211/patches/subsys/341-v6.2-cfg80211-Update-Transition-Disable-policy-during-por.patch
@@ -76,7 +76,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
 --- a/net/wireless/core.h
 +++ b/net/wireless/core.h
-@@ -283,6 +283,8 @@ struct cfg80211_event {
+@@ -277,6 +277,8 @@ struct cfg80211_event {
  		} ij;
  		struct {
  			u8 bssid[ETH_ALEN];
@@ -85,7 +85,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		} pa;
  	};
  };
-@@ -427,7 +429,8 @@ int cfg80211_disconnect(struct cfg80211_
+@@ -421,7 +423,8 @@ int cfg80211_disconnect(struct cfg80211_
  			bool wextev);
  void __cfg80211_roamed(struct wireless_dev *wdev,
  		       struct cfg80211_roam_info *info);
@@ -97,7 +97,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  void cfg80211_autodisconnect_wk(struct work_struct *work);
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
-@@ -18022,7 +18022,8 @@ void nl80211_send_roamed(struct cfg80211
+@@ -18041,7 +18041,8 @@ void nl80211_send_roamed(struct cfg80211
  }
  
  void nl80211_send_port_authorized(struct cfg80211_registered_device *rdev,
@@ -107,7 +107,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	struct sk_buff *msg;
  	void *hdr;
-@@ -18042,6 +18043,11 @@ void nl80211_send_port_authorized(struct
+@@ -18061,6 +18062,11 @@ void nl80211_send_port_authorized(struct
  	    nla_put(msg, NL80211_ATTR_MAC, ETH_ALEN, bssid))
  		goto nla_put_failure;
  
@@ -133,7 +133,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			       const u8 *ie, size_t ie_len, bool from_ap);
 --- a/net/wireless/sme.c
 +++ b/net/wireless/sme.c
-@@ -1266,7 +1266,8 @@ out:
+@@ -1267,7 +1267,8 @@ out:
  }
  EXPORT_SYMBOL(cfg80211_roamed);
  
@@ -143,7 +143,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	ASSERT_WDEV_LOCK(wdev);
  
-@@ -1279,11 +1280,11 @@ void __cfg80211_port_authorized(struct w
+@@ -1280,11 +1281,11 @@ void __cfg80211_port_authorized(struct w
  		return;
  
  	nl80211_send_port_authorized(wiphy_to_rdev(wdev->wiphy), wdev->netdev,
@@ -157,7 +157,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	struct wireless_dev *wdev = dev->ieee80211_ptr;
  	struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy);
-@@ -1293,12 +1294,15 @@ void cfg80211_port_authorized(struct net
+@@ -1294,12 +1295,15 @@ void cfg80211_port_authorized(struct net
  	if (WARN_ON(!bssid))
  		return;
  
diff --git a/package/kernel/mac80211/patches/subsys/342-v6.3-mac80211-support-minimal-EHT-rate-reporting-on-RX.patch b/package/kernel/mac80211/patches/subsys/342-v6.3-mac80211-support-minimal-EHT-rate-reporting-on-RX.patch
index 4d4afb5263..10747cc5a6 100644
--- a/package/kernel/mac80211/patches/subsys/342-v6.3-mac80211-support-minimal-EHT-rate-reporting-on-RX.patch
+++ b/package/kernel/mac80211/patches/subsys/342-v6.3-mac80211-support-minimal-EHT-rate-reporting-on-RX.patch
@@ -18,7 +18,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
 
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -1477,6 +1477,7 @@ enum mac80211_rx_encoding {
+@@ -1478,6 +1478,7 @@ enum mac80211_rx_encoding {
  	RX_ENC_HT,
  	RX_ENC_VHT,
  	RX_ENC_HE,
@@ -26,7 +26,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  };
  
  /**
-@@ -1510,7 +1511,7 @@ enum mac80211_rx_encoding {
+@@ -1511,7 +1512,7 @@ enum mac80211_rx_encoding {
   * @antenna: antenna used
   * @rate_idx: index of data rate into band's supported rates or MCS index if
   *	HT or VHT is used (%RX_FLAG_HT/%RX_FLAG_VHT)
@@ -35,7 +35,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   * @flag: %RX_FLAG_\*
   * @encoding: &enum mac80211_rx_encoding
   * @bw: &enum rate_info_bw
-@@ -1518,6 +1519,8 @@ enum mac80211_rx_encoding {
+@@ -1519,6 +1520,8 @@ enum mac80211_rx_encoding {
   * @he_ru: HE RU, from &enum nl80211_he_ru_alloc
   * @he_gi: HE GI, from &enum nl80211_he_gi
   * @he_dcm: HE DCM value
@@ -44,7 +44,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   * @rx_flags: internal RX flags for mac80211
   * @ampdu_reference: A-MPDU reference number, must be a different value for
   *	each A-MPDU but the same for each subframe within one A-MPDU
-@@ -1539,8 +1542,18 @@ struct ieee80211_rx_status {
+@@ -1540,8 +1543,18 @@ struct ieee80211_rx_status {
  	u32 flag;
  	u16 freq: 13, freq_offset: 1;
  	u8 enc_flags;
@@ -67,7 +67,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	u8 rx_flags;
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -5358,6 +5358,15 @@ void ieee80211_rx_list(struct ieee80211_
+@@ -5362,6 +5362,15 @@ void ieee80211_rx_list(struct ieee80211_
  				      status->rate_idx, status->nss))
  				goto drop;
  			break;
@@ -157,7 +157,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		return STA_STATS_RATE_INVALID;
 --- a/net/mac80211/util.c
 +++ b/net/mac80211/util.c
-@@ -3902,6 +3902,19 @@ u64 ieee80211_calculate_rx_timestamp(str
+@@ -3905,6 +3905,19 @@ u64 ieee80211_calculate_rx_timestamp(str
  
  	/* Fill cfg80211 rate info */
  	switch (status->encoding) {
diff --git a/package/kernel/mac80211/patches/subsys/343-v6.3-wifi-mac80211-mlme-handle-EHT-channel-puncturing.patch b/package/kernel/mac80211/patches/subsys/343-v6.3-wifi-mac80211-mlme-handle-EHT-channel-puncturing.patch
index 1ad2823053..4bd8f2f880 100644
--- a/package/kernel/mac80211/patches/subsys/343-v6.3-wifi-mac80211-mlme-handle-EHT-channel-puncturing.patch
+++ b/package/kernel/mac80211/patches/subsys/343-v6.3-wifi-mac80211-mlme-handle-EHT-channel-puncturing.patch
@@ -62,7 +62,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	bool mu_mimo_owner;
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -4197,7 +4197,7 @@ static int ieee80211_set_ap_chanwidth(st
+@@ -4199,7 +4199,7 @@ static int ieee80211_set_ap_chanwidth(st
  	struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
  	struct ieee80211_link_data *link;
  	int ret;
@@ -84,7 +84,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	struct ieee80211_bss_conf *link_conf = link->conf;
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -2499,7 +2499,7 @@ int ieee80211_link_unreserve_chanctx(str
+@@ -2497,7 +2497,7 @@ int ieee80211_link_unreserve_chanctx(str
  int __must_check
  ieee80211_link_change_bandwidth(struct ieee80211_link_data *link,
  				const struct cfg80211_chan_def *chandef,
@@ -255,7 +255,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	struct ieee80211_sub_if_data *sdata = link->sdata;
  	struct ieee80211_local *local = sdata->local;
-@@ -4140,6 +4275,7 @@ static bool ieee80211_assoc_config_link(
+@@ -4141,6 +4276,7 @@ static bool ieee80211_assoc_config_link(
  							    link_sta);
  
  			bss_conf->eht_support = link_sta->pub->eht_cap.has_eht;
@@ -263,7 +263,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		} else {
  			bss_conf->eht_support = false;
  		}
-@@ -5452,6 +5588,45 @@ static bool ieee80211_rx_our_beacon(cons
+@@ -5453,6 +5589,45 @@ static bool ieee80211_rx_our_beacon(cons
  	return ether_addr_equal(tx_bssid, bss->transmitted_bss->bssid);
  }
  
@@ -309,7 +309,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  static void ieee80211_rx_mgmt_beacon(struct ieee80211_link_data *link,
  				     struct ieee80211_hdr *hdr, size_t len,
  				     struct ieee80211_rx_status *rx_status)
-@@ -5468,7 +5643,7 @@ static void ieee80211_rx_mgmt_beacon(str
+@@ -5469,7 +5644,7 @@ static void ieee80211_rx_mgmt_beacon(str
  	struct ieee80211_channel *chan;
  	struct link_sta_info *link_sta;
  	struct sta_info *sta;
@@ -318,7 +318,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	bool erp_valid;
  	u8 erp_value = 0;
  	u32 ncrc = 0;
-@@ -5761,6 +5936,21 @@ static void ieee80211_rx_mgmt_beacon(str
+@@ -5762,6 +5937,21 @@ static void ieee80211_rx_mgmt_beacon(str
  					       elems->pwr_constr_elem,
  					       elems->cisco_dtpc_elem);
  
@@ -340,7 +340,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	ieee80211_link_info_change_notify(sdata, link, changed);
  free:
  	kfree(elems);
-@@ -6862,9 +7052,12 @@ ieee80211_setup_assoc_link(struct ieee80
+@@ -6863,9 +7053,12 @@ ieee80211_setup_assoc_link(struct ieee80
  		ieee80211_apply_htcap_overrides(sdata, &sta_ht_cap);
  	}
  
@@ -353,7 +353,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		const struct element *elem;
  		u8 dtim_count = 0;
  
-@@ -6893,6 +7086,31 @@ ieee80211_setup_assoc_link(struct ieee80
+@@ -6894,6 +7087,31 @@ ieee80211_setup_assoc_link(struct ieee80
  			link->conf->ema_ap = true;
  		else
  			link->conf->ema_ap = false;
diff --git a/package/kernel/mac80211/patches/subsys/344-v6.3-0001-wifi-cfg80211-move-puncturing-bitmap-validation-from.patch b/package/kernel/mac80211/patches/subsys/344-v6.3-0001-wifi-cfg80211-move-puncturing-bitmap-validation-from.patch
index 408b531a90..6ff4517aa0 100644
--- a/package/kernel/mac80211/patches/subsys/344-v6.3-0001-wifi-cfg80211-move-puncturing-bitmap-validation-from.patch
+++ b/package/kernel/mac80211/patches/subsys/344-v6.3-0001-wifi-cfg80211-move-puncturing-bitmap-validation-from.patch
@@ -120,7 +120,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			break;
  		link->u.mgd.conn_flags |=
  			ieee80211_chandef_downgrade(chandef);
-@@ -5613,8 +5552,8 @@ static bool ieee80211_config_puncturing(
+@@ -5614,8 +5553,8 @@ static bool ieee80211_config_puncturing(
  	    extracted == link->conf->eht_puncturing)
  		return true;
  
@@ -131,7 +131,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		link_info(link,
  			  "Got an invalid disable subchannel bitmap from AP %pM: bitmap = 0x%x, bw = 0x%x. disconnect\n",
  			  link->u.mgd.bssid,
-@@ -7102,8 +7041,8 @@ ieee80211_setup_assoc_link(struct ieee80
+@@ -7103,8 +7042,8 @@ ieee80211_setup_assoc_link(struct ieee80
  			u16 bitmap;
  
  			bitmap = get_unaligned_le16(disable_subchannel_bitmap);
diff --git a/package/kernel/mac80211/patches/subsys/344-v6.3-0002-wifi-nl80211-validate-and-configure-puncturing-bitma.patch b/package/kernel/mac80211/patches/subsys/344-v6.3-0002-wifi-nl80211-validate-and-configure-puncturing-bitma.patch
index f530e53019..087ecec7c6 100644
--- a/package/kernel/mac80211/patches/subsys/344-v6.3-0002-wifi-nl80211-validate-and-configure-puncturing-bitma.patch
+++ b/package/kernel/mac80211/patches/subsys/344-v6.3-0002-wifi-nl80211-validate-and-configure-puncturing-bitma.patch
@@ -137,7 +137,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  int nl80211_parse_chandef(struct cfg80211_registered_device *rdev,
  			  struct genl_info *info,
  			  struct cfg80211_chan_def *chandef)
-@@ -5969,6 +5985,14 @@ static int nl80211_start_ap(struct sk_bu
+@@ -5974,6 +5990,14 @@ static int nl80211_start_ap(struct sk_bu
  		goto out;
  	}
  
@@ -152,7 +152,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &params->chandef,
  					   wdev->iftype)) {
  		err = -EINVAL;
-@@ -10107,6 +10131,14 @@ skip_beacons:
+@@ -10126,6 +10150,14 @@ skip_beacons:
  	if (info->attrs[NL80211_ATTR_CH_SWITCH_BLOCK_TX])
  		params.block_tx = true;
  
diff --git a/package/kernel/mac80211/patches/subsys/344-v6.3-0003-wifi-cfg80211-include-puncturing-bitmap-in-channel-s.patch b/package/kernel/mac80211/patches/subsys/344-v6.3-0003-wifi-cfg80211-include-puncturing-bitmap-in-channel-s.patch
index 3ab60745ff..a269f82ba8 100644
--- a/package/kernel/mac80211/patches/subsys/344-v6.3-0003-wifi-cfg80211-include-puncturing-bitmap-in-channel-s.patch
+++ b/package/kernel/mac80211/patches/subsys/344-v6.3-0003-wifi-cfg80211-include-puncturing-bitmap-in-channel-s.patch
@@ -91,7 +91,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
   * ieee80211_operating_class_to_band - convert operating class to band
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -3612,7 +3612,8 @@ static int __ieee80211_csa_finalize(stru
+@@ -3614,7 +3614,8 @@ static int __ieee80211_csa_finalize(stru
  	if (err)
  		return err;
  
@@ -101,7 +101,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
  	return 0;
  }
-@@ -3884,7 +3885,7 @@ __ieee80211_channel_switch(struct wiphy
+@@ -3886,7 +3887,7 @@ __ieee80211_channel_switch(struct wiphy
  
  	cfg80211_ch_switch_started_notify(sdata->dev,
  					  &sdata->deflink.csa_chandef, 0,
@@ -132,7 +132,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		/* use driver's channel switch callback */
 --- a/net/wireless/nl80211.c
 +++ b/net/wireless/nl80211.c
-@@ -19081,7 +19081,7 @@ static void nl80211_ch_switch_notify(str
+@@ -19100,7 +19100,7 @@ static void nl80211_ch_switch_notify(str
  				     struct cfg80211_chan_def *chandef,
  				     gfp_t gfp,
  				     enum nl80211_commands notif,
@@ -141,7 +141,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	struct wireless_dev *wdev = netdev->ieee80211_ptr;
  	struct sk_buff *msg;
-@@ -19115,6 +19115,9 @@ static void nl80211_ch_switch_notify(str
+@@ -19134,6 +19134,9 @@ static void nl80211_ch_switch_notify(str
  			goto nla_put_failure;
  	}
  
@@ -151,7 +151,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	genlmsg_end(msg, hdr);
  
  	genlmsg_multicast_netns(&nl80211_fam, wiphy_net(&rdev->wiphy), msg, 0,
-@@ -19127,7 +19130,7 @@ static void nl80211_ch_switch_notify(str
+@@ -19146,7 +19149,7 @@ static void nl80211_ch_switch_notify(str
  
  void cfg80211_ch_switch_notify(struct net_device *dev,
  			       struct cfg80211_chan_def *chandef,
@@ -160,7 +160,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	struct wireless_dev *wdev = dev->ieee80211_ptr;
  	struct wiphy *wiphy = wdev->wiphy;
-@@ -19136,7 +19139,7 @@ void cfg80211_ch_switch_notify(struct ne
+@@ -19155,7 +19158,7 @@ void cfg80211_ch_switch_notify(struct ne
  	ASSERT_WDEV_LOCK(wdev);
  	WARN_INVALID_LINK_ID(wdev, link_id);
  
@@ -169,7 +169,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
  	switch (wdev->iftype) {
  	case NL80211_IFTYPE_STATION:
-@@ -19164,14 +19167,15 @@ void cfg80211_ch_switch_notify(struct ne
+@@ -19183,14 +19186,15 @@ void cfg80211_ch_switch_notify(struct ne
  	cfg80211_sched_dfs_chan_update(rdev);
  
  	nl80211_ch_switch_notify(rdev, dev, link_id, chandef, GFP_KERNEL,
@@ -187,7 +187,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  {
  	struct wireless_dev *wdev = dev->ieee80211_ptr;
  	struct wiphy *wiphy = wdev->wiphy;
-@@ -19180,11 +19184,13 @@ void cfg80211_ch_switch_started_notify(s
+@@ -19199,11 +19203,13 @@ void cfg80211_ch_switch_started_notify(s
  	ASSERT_WDEV_LOCK(wdev);
  	WARN_INVALID_LINK_ID(wdev, link_id);
  
diff --git a/package/kernel/mac80211/patches/subsys/344-v6.3-0004-wifi-mac80211-configure-puncturing-bitmap.patch b/package/kernel/mac80211/patches/subsys/344-v6.3-0004-wifi-mac80211-configure-puncturing-bitmap.patch
index 5710626db3..a278442151 100644
--- a/package/kernel/mac80211/patches/subsys/344-v6.3-0004-wifi-mac80211-configure-puncturing-bitmap.patch
+++ b/package/kernel/mac80211/patches/subsys/344-v6.3-0004-wifi-mac80211-configure-puncturing-bitmap.patch
@@ -59,7 +59,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	if (sdata->vif.type == NL80211_IFTYPE_AP &&
  	    params->mbssid_config.tx_wdev) {
  		err = ieee80211_set_ap_mbssid_options(sdata,
-@@ -3571,6 +3576,12 @@ static int __ieee80211_csa_finalize(stru
+@@ -3573,6 +3578,12 @@ static int __ieee80211_csa_finalize(stru
  	lockdep_assert_held(&local->mtx);
  	lockdep_assert_held(&local->chanctx_mtx);
  
@@ -72,7 +72,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	/*
  	 * using reservation isn't immediate as it may be deferred until later
  	 * with multi-vif. once reservation is complete it will re-schedule the
-@@ -3613,7 +3624,7 @@ static int __ieee80211_csa_finalize(stru
+@@ -3615,7 +3626,7 @@ static int __ieee80211_csa_finalize(stru
  		return err;
  
  	cfg80211_ch_switch_notify(sdata->dev, &sdata->deflink.csa_chandef, 0,
@@ -81,7 +81,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
  	return 0;
  }
-@@ -3875,9 +3886,13 @@ __ieee80211_channel_switch(struct wiphy
+@@ -3877,9 +3888,13 @@ __ieee80211_channel_switch(struct wiphy
  		goto out;
  	}
  
@@ -95,7 +95,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
  	if (sdata->deflink.csa_block_tx)
  		ieee80211_stop_vif_queues(local, sdata,
-@@ -3885,7 +3900,8 @@ __ieee80211_channel_switch(struct wiphy
+@@ -3887,7 +3902,8 @@ __ieee80211_channel_switch(struct wiphy
  
  	cfg80211_ch_switch_started_notify(sdata->dev,
  					  &sdata->deflink.csa_chandef, 0,
diff --git a/package/kernel/mac80211/patches/subsys/346-v6.4-wifi-mac80211-warn-only-once-on-AP-probe.patch b/package/kernel/mac80211/patches/subsys/346-v6.4-wifi-mac80211-warn-only-once-on-AP-probe.patch
index 60d2ec2926..363de8d7e5 100644
--- a/package/kernel/mac80211/patches/subsys/346-v6.4-wifi-mac80211-warn-only-once-on-AP-probe.patch
+++ b/package/kernel/mac80211/patches/subsys/346-v6.4-wifi-mac80211-warn-only-once-on-AP-probe.patch
@@ -21,7 +21,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
 
 --- a/net/mac80211/mlme.c
 +++ b/net/mac80211/mlme.c
-@@ -3239,7 +3239,7 @@ static void ieee80211_mgd_probe_ap(struc
+@@ -3240,7 +3240,7 @@ static void ieee80211_mgd_probe_ap(struc
  	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
  	bool already = false;
  
diff --git a/package/kernel/mac80211/patches/subsys/347-v6.5-wifi-mac80211-HW-restart-for-MLO.patch b/package/kernel/mac80211/patches/subsys/347-v6.5-wifi-mac80211-HW-restart-for-MLO.patch
index 9103e65bd5..4e18dfa080 100644
--- a/package/kernel/mac80211/patches/subsys/347-v6.5-wifi-mac80211-HW-restart-for-MLO.patch
+++ b/package/kernel/mac80211/patches/subsys/347-v6.5-wifi-mac80211-HW-restart-for-MLO.patch
@@ -17,7 +17,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
 
 --- a/net/mac80211/util.c
 +++ b/net/mac80211/util.c
-@@ -2497,21 +2497,55 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2500,21 +2500,55 @@ int ieee80211_reconfig(struct ieee80211_
  
  	/* Finally also reconfigure all the BSS information */
  	list_for_each_entry(sdata, &local->interfaces, list) {
@@ -77,7 +77,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		}
  
  		switch (sdata->vif.type) {
-@@ -2531,42 +2565,42 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2534,42 +2568,42 @@ int ieee80211_reconfig(struct ieee80211_
  					    &sdata->deflink.tx_conf[i]);
  			break;
  		}
@@ -150,7 +150,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			break;
  		case NL80211_IFTYPE_OCB:
  			changed |= BSS_CHANGED_OCB;
-@@ -2601,6 +2635,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2604,6 +2638,7 @@ int ieee80211_reconfig(struct ieee80211_
  		case NL80211_IFTYPE_NAN:
  			res = ieee80211_reconfig_nan(sdata);
  			if (res < 0) {
@@ -158,7 +158,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  				ieee80211_handle_reconfig_failure(local);
  				return res;
  			}
-@@ -2618,6 +2653,10 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2621,6 +2656,10 @@ int ieee80211_reconfig(struct ieee80211_
  			WARN_ON(1);
  			break;
  		}
diff --git a/package/kernel/mac80211/patches/subsys/348-v6.5-wifi-mac80211-implement-proper-AP-MLD-HW-restart.patch b/package/kernel/mac80211/patches/subsys/348-v6.5-wifi-mac80211-implement-proper-AP-MLD-HW-restart.patch
index b6f92f11ea..52f7dfa07f 100644
--- a/package/kernel/mac80211/patches/subsys/348-v6.5-wifi-mac80211-implement-proper-AP-MLD-HW-restart.patch
+++ b/package/kernel/mac80211/patches/subsys/348-v6.5-wifi-mac80211-implement-proper-AP-MLD-HW-restart.patch
@@ -53,7 +53,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  int ieee80211_reconfig(struct ieee80211_local *local)
  {
  	struct ieee80211_hw *hw = &local->hw;
-@@ -2610,7 +2639,13 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2613,7 +2642,13 @@ int ieee80211_reconfig(struct ieee80211_
  			changed |= BSS_CHANGED_IBSS;
  			fallthrough;
  		case NL80211_IFTYPE_AP:
@@ -68,7 +68,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
  			if (sdata->vif.bss_conf.ftm_responder == 1 &&
  			    wiphy_ext_feature_isset(sdata->local->hw.wiphy,
-@@ -2620,6 +2655,13 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2623,6 +2658,13 @@ int ieee80211_reconfig(struct ieee80211_
  			if (sdata->vif.type == NL80211_IFTYPE_AP) {
  				changed |= BSS_CHANGED_AP_PROBE_RESP;
  
diff --git a/package/kernel/mac80211/patches/subsys/349-v6.5-wifi-mac80211-Add-getter-functions-for-vif-MLD-state.patch b/package/kernel/mac80211/patches/subsys/349-v6.5-wifi-mac80211-Add-getter-functions-for-vif-MLD-state.patch
index 9343e9b76b..8c18170948 100644
--- a/package/kernel/mac80211/patches/subsys/349-v6.5-wifi-mac80211-Add-getter-functions-for-vif-MLD-state.patch
+++ b/package/kernel/mac80211/patches/subsys/349-v6.5-wifi-mac80211-Add-getter-functions-for-vif-MLD-state.patch
@@ -33,7 +33,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
 
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -1936,6 +1936,27 @@ struct ieee80211_vif {
+@@ -1937,6 +1937,27 @@ struct ieee80211_vif {
  	u8 drv_priv[] __aligned(sizeof(void *));
  };
  
@@ -132,7 +132,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf);
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
-@@ -542,7 +542,7 @@ static void ieee80211_do_stop(struct iee
+@@ -543,7 +543,7 @@ static void ieee80211_do_stop(struct iee
  	cancel_work_sync(&sdata->recalc_smps);
  
  	sdata_lock(sdata);
@@ -141,7 +141,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	     "destroying interface with valid links 0x%04x\n",
  	     sdata->vif.valid_links);
  
-@@ -1855,7 +1855,7 @@ static int ieee80211_runtime_change_ifty
+@@ -1873,7 +1873,7 @@ static int ieee80211_runtime_change_ifty
  		return -EBUSY;
  
  	/* for now, don't support changing while links exist */
@@ -217,7 +217,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		ieee80211_recalc_smps(sdata, &sdata->deflink);
  	ieee80211_recalc_ps_vif(sdata);
  
-@@ -2982,7 +2982,7 @@ static void ieee80211_set_disassoc(struc
+@@ -2983,7 +2983,7 @@ static void ieee80211_set_disassoc(struc
  	sta_info_flush(sdata);
  
  	/* finally reset all BSS / config parameters */
@@ -226,7 +226,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		changed |= ieee80211_reset_erp_info(sdata);
  
  	ieee80211_led_assoc(local, 0);
-@@ -3007,7 +3007,7 @@ static void ieee80211_set_disassoc(struc
+@@ -3008,7 +3008,7 @@ static void ieee80211_set_disassoc(struc
  	       sizeof(sdata->vif.bss_conf.mu_group.membership));
  	memset(sdata->vif.bss_conf.mu_group.position, 0,
  	       sizeof(sdata->vif.bss_conf.mu_group.position));
@@ -235,7 +235,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		changed |= BSS_CHANGED_MU_GROUPS;
  	sdata->vif.bss_conf.mu_mimo_owner = false;
  
-@@ -3021,7 +3021,7 @@ static void ieee80211_set_disassoc(struc
+@@ -3022,7 +3022,7 @@ static void ieee80211_set_disassoc(struc
  		changed |= BSS_CHANGED_ARP_FILTER;
  
  	sdata->vif.bss_conf.qos = false;
@@ -244,7 +244,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		changed |= BSS_CHANGED_QOS;
  		/* The BSSID (not really interesting) and HT changed */
  		changed |= BSS_CHANGED_BSSID | BSS_CHANGED_HT;
-@@ -3191,7 +3191,7 @@ static void ieee80211_mgd_probe_ap_send(
+@@ -3192,7 +3192,7 @@ static void ieee80211_mgd_probe_ap_send(
  	u8 unicast_limit = max(1, max_probe_tries - 3);
  	struct sta_info *sta;
  
@@ -253,7 +253,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		return;
  
  	/*
-@@ -3239,7 +3239,7 @@ static void ieee80211_mgd_probe_ap(struc
+@@ -3240,7 +3240,7 @@ static void ieee80211_mgd_probe_ap(struc
  	struct ieee80211_if_managed *ifmgd = &sdata->u.mgd;
  	bool already = false;
  
@@ -262,7 +262,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		return;
  
  	if (!ieee80211_sdata_running(sdata))
-@@ -3314,7 +3314,7 @@ struct sk_buff *ieee80211_ap_probereq_ge
+@@ -3315,7 +3315,7 @@ struct sk_buff *ieee80211_ap_probereq_ge
  	int ssid_len;
  
  	if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_STATION ||
@@ -271,7 +271,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		return NULL;
  
  	sdata_assert_lock(sdata);
-@@ -3379,7 +3379,8 @@ static void __ieee80211_disconnect(struc
+@@ -3380,7 +3380,8 @@ static void __ieee80211_disconnect(struc
  	}
  
  	/* in MLO assume we have a link where we can TX the frame */
@@ -281,7 +281,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  
  	if (!ifmgd->driver_disconnect) {
  		unsigned int link_id;
-@@ -3578,7 +3579,7 @@ static void ieee80211_destroy_assoc_data
+@@ -3579,7 +3580,7 @@ static void ieee80211_destroy_assoc_data
  			for (i = 0; i < ARRAY_SIZE(data.bss); i++)
  				data.bss[i] = assoc_data->link[i].bss;
  
@@ -290,7 +290,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  				data.ap_mld_addr = assoc_data->ap_addr;
  
  			cfg80211_assoc_failure(sdata->dev, &data);
-@@ -4979,7 +4980,7 @@ static bool ieee80211_assoc_success(stru
+@@ -4980,7 +4981,7 @@ static bool ieee80211_assoc_success(stru
  	if (WARN_ON(!sta))
  		goto out_err;
  
@@ -299,7 +299,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		u16 valid_links = 0;
  
  		for (link_id = 0; link_id < IEEE80211_MLD_MAX_NUM_LINKS; link_id++) {
-@@ -5008,7 +5009,7 @@ static bool ieee80211_assoc_success(stru
+@@ -5009,7 +5010,7 @@ static bool ieee80211_assoc_success(stru
  		if (WARN_ON(!link))
  			goto out_err;
  
@@ -308,7 +308,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			link_info(link,
  				  "local address %pM, AP link address %pM\n",
  				  link->conf->addr,
-@@ -5240,7 +5241,7 @@ static void ieee80211_rx_mgmt_assoc_resp
+@@ -5241,7 +5242,7 @@ static void ieee80211_rx_mgmt_assoc_resp
  			ifmgd->broken_ap = true;
  		}
  
@@ -317,7 +317,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			if (!elems->multi_link) {
  				sdata_info(sdata,
  					   "MLO association with %pM but no multi-link element in response!\n",
-@@ -5304,7 +5305,7 @@ static void ieee80211_rx_mgmt_assoc_resp
+@@ -5305,7 +5306,7 @@ static void ieee80211_rx_mgmt_assoc_resp
  				resp.uapsd_queues |= ieee80211_ac_to_qos_mask[ac];
  	}
  
@@ -326,7 +326,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		ether_addr_copy(ap_mld_addr, sdata->vif.cfg.ap_addr);
  		resp.ap_mld_addr = ap_mld_addr;
  	}
-@@ -5629,7 +5630,7 @@ static void ieee80211_rx_mgmt_beacon(str
+@@ -5630,7 +5631,7 @@ static void ieee80211_rx_mgmt_beacon(str
  	rcu_read_unlock();
  
  	if (ifmgd->assoc_data && ifmgd->assoc_data->need_beacon &&
@@ -335,7 +335,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	    ieee80211_rx_our_beacon(bssid, ifmgd->assoc_data->link[0].bss)) {
  		parse_params.bss = ifmgd->assoc_data->link[0].bss;
  		elems = ieee802_11_parse_elems_full(&parse_params);
-@@ -6319,7 +6320,7 @@ static void ieee80211_sta_bcn_mon_timer(
+@@ -6320,7 +6321,7 @@ static void ieee80211_sta_bcn_mon_timer(
  	struct ieee80211_sub_if_data *sdata =
  		from_timer(sdata, t, u.mgd.bcn_mon_timer);
  
@@ -344,7 +344,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		return;
  
  	if (sdata->vif.bss_conf.csa_active &&
-@@ -6343,7 +6344,7 @@ static void ieee80211_sta_conn_mon_timer
+@@ -6344,7 +6345,7 @@ static void ieee80211_sta_conn_mon_timer
  	struct sta_info *sta;
  	unsigned long timeout;
  
@@ -353,7 +353,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		return;
  
  	if (sdata->vif.bss_conf.csa_active &&
-@@ -6898,7 +6899,7 @@ int ieee80211_mgd_auth(struct ieee80211_
+@@ -6899,7 +6900,7 @@ int ieee80211_mgd_auth(struct ieee80211_
  	return 0;
  
   err_clear:
@@ -456,7 +456,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			chanctx_conf =
  				rcu_dereference(sdata->vif.bss_conf.chanctx_conf);
  			if (unlikely(!chanctx_conf)) {
-@@ -6008,7 +6008,7 @@ void __ieee80211_tx_skb_tid_band(struct
+@@ -6010,7 +6010,7 @@ void __ieee80211_tx_skb_tid_band(struct
  	BUILD_BUG_ON(!FIELD_FIT(IEEE80211_TX_CTRL_MLO_LINK,
  				IEEE80211_LINK_UNSPECIFIED));
  
@@ -465,7 +465,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  		link = 0;
  	} else if (link_id >= 0) {
  		link = link_id;
-@@ -6054,7 +6054,7 @@ void ieee80211_tx_skb_tid(struct ieee802
+@@ -6056,7 +6056,7 @@ void ieee80211_tx_skb_tid(struct ieee802
  	enum nl80211_band band;
  
  	rcu_read_lock();
@@ -485,7 +485,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  	struct {
  		u8 id;
  		u8 len;
-@@ -2546,7 +2546,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2549,7 +2549,7 @@ int ieee80211_reconfig(struct ieee80211_
  			continue;
  
  		sdata_lock(sdata);
@@ -494,7 +494,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			struct ieee80211_bss_conf *old[IEEE80211_MLD_MAX_NUM_LINKS] = {
  				[0] = &sdata->vif.bss_conf,
  			};
-@@ -2566,7 +2566,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2569,7 +2569,7 @@ int ieee80211_reconfig(struct ieee80211_
  		for (link_id = 0;
  		     link_id < ARRAY_SIZE(sdata->vif.link_conf);
  		     link_id++) {
@@ -503,7 +503,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  			    !(sdata->vif.active_links & BIT(link_id)))
  				continue;
  
-@@ -2598,12 +2598,12 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2601,12 +2601,12 @@ int ieee80211_reconfig(struct ieee80211_
  		if (sdata->vif.bss_conf.mu_mimo_owner)
  			changed |= BSS_CHANGED_MU_GROUPS;
  
@@ -518,7 +518,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  				changed |= BSS_CHANGED_ASSOC |
  					   BSS_CHANGED_ARP_FILTER |
  					   BSS_CHANGED_PS;
-@@ -2641,7 +2641,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2644,7 +2644,7 @@ int ieee80211_reconfig(struct ieee80211_
  		case NL80211_IFTYPE_AP:
  			changed |= BSS_CHANGED_P2P_PS;
  
@@ -527,7 +527,7 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  				ieee80211_vif_cfg_change_notify(sdata,
  								BSS_CHANGED_SSID);
  			else
-@@ -2655,7 +2655,7 @@ int ieee80211_reconfig(struct ieee80211_
+@@ -2658,7 +2658,7 @@ int ieee80211_reconfig(struct ieee80211_
  			if (sdata->vif.type == NL80211_IFTYPE_AP) {
  				changed |= BSS_CHANGED_AP_PROBE_RESP;
  
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 1b8d341fa6..b86d9af031 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
@@ -18,7 +18,7 @@
  
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -1714,6 +1714,7 @@ enum ieee80211_smps_mode {
+@@ -1715,6 +1715,7 @@ enum ieee80211_smps_mode {
   *
   * @power_level: requested transmit power (in dBm), backward compatibility
   *	value only that is set to the minimum of all interfaces
@@ -26,7 +26,7 @@
   *
   * @chandef: the channel definition to tune to
   * @radar_enabled: whether radar detection is enabled
-@@ -1734,6 +1735,7 @@ enum ieee80211_smps_mode {
+@@ -1735,6 +1736,7 @@ enum ieee80211_smps_mode {
  struct ieee80211_conf {
  	u32 flags;
  	int power_level, dynamic_ps_timeout;
@@ -56,7 +56,7 @@
  	__NL80211_ATTR_AFTER_LAST,
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -3079,6 +3079,19 @@ static int ieee80211_get_tx_power(struct
+@@ -3081,6 +3081,19 @@ static int ieee80211_get_tx_power(struct
  	return 0;
  }
  
@@ -76,7 +76,7 @@
  static void ieee80211_rfkill_poll(struct wiphy *wiphy)
  {
  	struct ieee80211_local *local = wiphy_priv(wiphy);
-@@ -5009,6 +5022,7 @@ const struct cfg80211_ops mac80211_confi
+@@ -5011,6 +5024,7 @@ const struct cfg80211_ops mac80211_confi
  	.set_wiphy_params = ieee80211_set_wiphy_params,
  	.set_tx_power = ieee80211_set_tx_power,
  	.get_tx_power = ieee80211_get_tx_power,
@@ -105,7 +105,7 @@
  	u32 offchannel_flag;
  
  	offchannel_flag = local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL;
-@@ -157,6 +157,12 @@ static u32 ieee80211_hw_conf_chan(struct
+@@ -159,6 +159,12 @@ static u32 ieee80211_hw_conf_chan(struct
  	}
  	rcu_read_unlock();
  
@@ -118,7 +118,7 @@
  	if (local->hw.conf.power_level != power) {
  		changed |= IEEE80211_CONF_CHANGE_POWER;
  		local->hw.conf.power_level = power;
-@@ -766,6 +772,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -768,6 +774,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
  					 IEEE80211_RADIOTAP_MCS_HAVE_BW;
  	local->hw.radiotap_vht_details = IEEE80211_RADIOTAP_VHT_KNOWN_GI |
  					 IEEE80211_RADIOTAP_VHT_KNOWN_BANDWIDTH;




More information about the lede-commits mailing list