[openwrt/openwrt] mac80211: Update to version 6.12.52

LEDE Commits lede-commits at lists.infradead.org
Tue Oct 14 15:07:41 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-24.10:
https://git.openwrt.org/8554e22ace65d8fb98871c8d7670b4713a7060ea

commit 8554e22ace65d8fb98871c8d7670b4713a7060ea
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Sun Oct 5 19:31:09 2025 +0200

    mac80211: Update to version 6.12.52
    
    This includes the following commits from upstream Linux between 6.12.44
    and 6.12.52:
    ```
    $ git log --reverse  --oneline  v6.12.44...v6.12.52 -- drivers/net/wireless/ net/mac80211/ net/wireless/
    5b7ae04969f8 wifi: cfg80211: fix use-after-free in cmp_bss()
    3e789f8475f6 wifi: brcmfmac: fix use-after-free when rescheduling brcmf_btcoex_info work
    d9f2fb6a2ac8 wifi: mt76: mt7925: fix locking in mt7925_change_vif_links()
    1fb26fd3f601 wifi: mt76: prevent non-offchannel mgmt tx during scan/roc
    2aef3667e6b0 wifi: mt76: free pending offchannel tx frames on wcid cleanup
    e4d5a5fc61fd wifi: mt76: fix linked list corruption
    c2e32ac3f107 wifi: iwlwifi: uefi: check DSM item validity
    609a8ffff5a0 wifi: ath11k: fix group data packet drops during rekey
    cedbbba8a8e8 wifi: cw1200: cap SSID length in cw1200_do_join()
    92bedee7168d wifi: libertas: cap SSID len in lbs_associate()
    31229145e6ba wifi: cfg80211: sme: cap SSID length in __cfg80211_connect_result()
    06616410a3e5 wifi: mwifiex: Initialize the chan_stats array to zero
    a001c2f6a40c wifi: mt76: mt7925u: use connac3 tx aggr check in tx complete
    eefa2ad9009b wifi: mt76: mt7996: Initialize hdr before passing to skb_put_data()
    089fd41902ee wifi: mt76: mt7925: fix the wrong bss cleanup for SAP
    26618c039b78 wifi: ath11k: update channel list in reg notifier instead reg worker
    fa4abd439f27 wifi: ath11k: update channel list in worker when wait flag is set
    2203ef417044 wifi: wilc1000: avoid buffer overflow in WID string configuration
    32adb020b0c3 wifi: mac80211: increase scan_ies_len for S1G
    8df33f4d4a0b wifi: mac80211: fix incorrect type for ret
    79dc6d4932de wifi: virt_wifi: Fix page fault on connect
    1f52119809b7 wifi: ath11k: fix NULL dereference in ath11k_qmi_m3_load()
    895cccf639ac wifi: rtw89: fix use-after-free in rtw89_core_tx_kick_off_and_wait()
    914d02595ba6 wifi: rtlwifi: rtl8192cu: Don't claim USB ID 07b8:8188
    1713796d6538 wifi: rtl8xxxu: Don't claim USB ID 07b8:8188
    ```
    
    Removed ath11k/940-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch
    This problem is fixed by:
    609a8ffff5a0 wifi: ath11k: fix group data packet drops during rekey
    
    Link: https://github.com/openwrt/openwrt/pull/20311
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 package/kernel/mac80211/Makefile                   |  6 +--
 .../991-ath10k-support-flush_sta-method.patch      |  6 +--
 ...11k-support-setting-FW-memory-mode-via-DT.patch |  4 +-
 ...ve-intersection-support-for-regulatory-ru.patch | 24 ++++++-----
 ...rt-clear-the-keys-properly-when-DISABLE_K.patch | 48 ----------------------
 .../mwl/801-libertas-configure-sysfs-links.patch   |  2 +-
 .../mwl/802-libertas-set-wireless-macaddr.patch    |  2 +-
 .../patches/subsys/130-disable_auto_vif.patch      |  2 +-
 ...fg80211-add-option-for-vif-allowed-radios.patch |  2 +-
 ...11-Support-EHT-1024-aggregation-size-in-T.patch | 39 ++++++------------
 10 files changed, 39 insertions(+), 96 deletions(-)

diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index c93f177aec..80ffb9f598 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.12.44
-PKG_RELEASE:=2
+PKG_VERSION:=6.12.52
+PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING
 
 PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources/
-PKG_HASH:=85a9f92ddba3bf2970a089e7af576c1135217c387205f4481ea9131c0c45c509
+PKG_HASH:=ed6ef4c67e08b294ed1101c7cc5ae584a5f338c99ef95362fa3921eb6d207f5d
 
 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/$(if $(BUILD_VARIANT),$(PKG_NAME)-$(BUILD_VARIANT)/)backports-$(PKG_VERSION)
diff --git a/package/kernel/mac80211/patches/ath10k/991-ath10k-support-flush_sta-method.patch b/package/kernel/mac80211/patches/ath10k/991-ath10k-support-flush_sta-method.patch
index a0f6eed7cd..c426d4b6a8 100644
--- a/package/kernel/mac80211/patches/ath10k/991-ath10k-support-flush_sta-method.patch
+++ b/package/kernel/mac80211/patches/ath10k/991-ath10k-support-flush_sta-method.patch
@@ -29,7 +29,7 @@ Tested-by: Florian Maurer <maurer at fh-aachen.de>
 
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -8166,6 +8166,20 @@ static void ath10k_flush(struct ieee8021
+@@ -8135,6 +8135,20 @@ static void ath10k_flush(struct ieee8021
  	mutex_unlock(&ar->conf_mutex);
  }
  
@@ -50,7 +50,7 @@ Tested-by: Florian Maurer <maurer at fh-aachen.de>
  /* TODO: Implement this function properly
   * For now it is needed to reply to Probe Requests in IBSS mode.
   * Probably we need this information from FW.
-@@ -9513,6 +9527,7 @@ static const struct ieee80211_ops ath10k
+@@ -9486,6 +9500,7 @@ static const struct ieee80211_ops ath10k
  	.set_rts_threshold		= ath10k_set_rts_threshold,
  	.set_frag_threshold		= ath10k_mac_op_set_frag_threshold,
  	.flush				= ath10k_flush,
@@ -58,7 +58,7 @@ Tested-by: Florian Maurer <maurer at fh-aachen.de>
  	.tx_last_beacon			= ath10k_tx_last_beacon,
  	.set_antenna			= ath10k_set_antenna,
  	.get_antenna			= ath10k_get_antenna,
-@@ -10334,6 +10349,9 @@ int ath10k_mac_register(struct ath10k *a
+@@ -10307,6 +10322,9 @@ int ath10k_mac_register(struct ath10k *a
  	if (!ar->hw_params.hw_ops->set_coverage_class)
  		ar->ops->set_coverage_class = NULL;
  
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 e747738b81..2bc1ca3c7d 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",
-@@ -2200,7 +2200,8 @@ static void ath11k_core_reset(struct wor
+@@ -2201,7 +2201,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];
-@@ -2216,7 +2217,31 @@ static int ath11k_init_hw_params(struct
+@@ -2217,7 +2218,31 @@ static int ath11k_init_hw_params(struct
  
  	ab->hw_params = *hw_params;
  
diff --git a/package/kernel/mac80211/patches/ath11k/905-ath11k-remove-intersection-support-for-regulatory-ru.patch b/package/kernel/mac80211/patches/ath11k/905-ath11k-remove-intersection-support-for-regulatory-ru.patch
index f30e03475f..59a2165c0c 100644
--- a/package/kernel/mac80211/patches/ath11k/905-ath11k-remove-intersection-support-for-regulatory-ru.patch
+++ b/package/kernel/mac80211/patches/ath11k/905-ath11k-remove-intersection-support-for-regulatory-ru.patch
@@ -23,7 +23,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
 
 --- a/drivers/net/wireless/ath/ath11k/reg.c
 +++ b/drivers/net/wireless/ath/ath11k/reg.c
-@@ -361,134 +361,6 @@ static u32 ath11k_map_fw_phy_flags(u32 p
+@@ -353,134 +353,6 @@ static u32 ath11k_map_fw_phy_flags(u32 p
  	return flags;
  }
  
@@ -158,7 +158,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  static const char *
  ath11k_reg_get_regdom_str(enum nl80211_dfs_regions dfs_region)
  {
-@@ -639,11 +511,11 @@ ath11k_reg_ap_pwr_convert(enum ieee80211
+@@ -631,11 +503,11 @@ ath11k_reg_ap_pwr_convert(enum ieee80211
  
  struct ieee80211_regdomain *
  ath11k_reg_build_regd(struct ath11k_base *ab,
@@ -172,7 +172,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  	struct cur_reg_rule *reg_rule, *reg_rule_6ghz;
  	u8 i = 0, j = 0, k = 0;
  	u8 num_rules;
-@@ -686,26 +558,26 @@ ath11k_reg_build_regd(struct ath11k_base
+@@ -678,26 +550,26 @@ ath11k_reg_build_regd(struct ath11k_base
  	}
  
  	if (!num_rules)
@@ -206,7 +206,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  		   reg_info->dfs_region, num_rules);
  	/* Update reg_rules[] below. Firmware is expected to
  	 * send these rules in order(2 GHz rules first and then 5 GHz)
-@@ -744,7 +616,7 @@ ath11k_reg_build_regd(struct ath11k_base
+@@ -736,7 +608,7 @@ ath11k_reg_build_regd(struct ath11k_base
  		flags |= ath11k_map_fw_reg_flags(reg_rule->flags);
  		flags |= ath11k_map_fw_phy_flags(reg_info->phybitmap);
  
@@ -215,7 +215,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  				       reg_rule->start_freq,
  				       reg_rule->end_freq, max_bw,
  				       reg_rule->ant_gain, reg_rule->reg_power,
-@@ -759,7 +631,7 @@ ath11k_reg_build_regd(struct ath11k_base
+@@ -751,7 +623,7 @@ ath11k_reg_build_regd(struct ath11k_base
  		    reg_info->dfs_region == ATH11K_DFS_REG_ETSI &&
  		    (reg_rule->end_freq > ETSI_WEATHER_RADAR_BAND_LOW &&
  		    reg_rule->start_freq < ETSI_WEATHER_RADAR_BAND_HIGH)){
@@ -224,7 +224,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  							     reg_rule, &i,
  							     flags, max_bw);
  			continue;
-@@ -770,51 +642,23 @@ ath11k_reg_build_regd(struct ath11k_base
+@@ -762,37 +634,20 @@ ath11k_reg_build_regd(struct ath11k_base
  				   "\t%d. (%d - %d @ %d) (%d, %d) (%d ms) (FLAGS %d) (%d, %d)\n",
  				   i + 1, reg_rule->start_freq, reg_rule->end_freq,
  				   max_bw, reg_rule->ant_gain, reg_rule->reg_power,
@@ -265,6 +265,10 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  	return new_regd;
  }
  
+@@ -844,17 +699,6 @@ void ath11k_regd_update_chan_list_work(s
+ 	}
+ }
+ 
 -static bool ath11k_reg_is_world_alpha(char *alpha)
 -{
 -	if (alpha[0] == '0' && alpha[1] == '0')
@@ -279,7 +283,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  static enum wmi_vdev_type ath11k_reg_get_ar_vdev_type(struct ath11k *ar)
  {
  	struct ath11k_vif *arvif;
-@@ -837,7 +681,6 @@ int ath11k_reg_handle_chan_list(struct a
+@@ -877,7 +721,6 @@ int ath11k_reg_handle_chan_list(struct a
  				enum ieee80211_ap_reg_power power_type)
  {
  	struct ieee80211_regdomain *regd;
@@ -287,7 +291,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  	int pdev_idx;
  	struct ath11k *ar;
  	enum wmi_vdev_type vdev_type;
-@@ -889,24 +732,14 @@ int ath11k_reg_handle_chan_list(struct a
+@@ -929,24 +772,14 @@ int ath11k_reg_handle_chan_list(struct a
  		    (char *)reg_info->alpha2, 2))
  		goto retfail;
  
@@ -317,8 +321,8 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi at quicinc.com>
  		goto fallback;
 --- a/drivers/net/wireless/ath/ath11k/reg.h
 +++ b/drivers/net/wireless/ath/ath11k/reg.h
-@@ -35,7 +35,7 @@ void ath11k_reg_free(struct ath11k_base
- void ath11k_regd_update_work(struct work_struct *work);
+@@ -36,7 +36,7 @@ void ath11k_regd_update_work(struct work
+ void ath11k_regd_update_chan_list_work(struct work_struct *work);
  struct ieee80211_regdomain *
  ath11k_reg_build_regd(struct ath11k_base *ab,
 -		      struct cur_regulatory_info *reg_info, bool intersect,
diff --git a/package/kernel/mac80211/patches/ath11k/940-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch b/package/kernel/mac80211/patches/ath11k/940-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch
deleted file mode 100644
index ec2dc222b6..0000000000
--- a/package/kernel/mac80211/patches/ath11k/940-ath11k-Revert-clear-the-keys-properly-when-DISABLE_K.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 52393e2ae12f18fb1a60578c24c46ebab292ddb6 Mon Sep 17 00:00:00 2001
-From: Rameshkumar Sundaram <quic_ramess at quicinc.com>
-Date: Mon, 28 Mar 2022 13:21:04 +0530
-Subject: [PATCH] ath11k: Revert: clear the keys properly when DISABLE_KEY
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Reverting the Upstream clear key change added as a part of
-436a4e886598 ("ath11k: clear the keys properly
-when DISABLE_KEY")
-This change exposed a race in WLAN Firmware where target asserts
-are seen frequently due FW not synchronizing ath11k host’s clear
-key commands(CIPHER changes to NONE) with frames in TX queue.
-Hence reverting this change untill FW fixes to synchronize
-ath11k host’s clear key command are available.
-
-Signed-off-by: Rameshkumar Sundaram <quic_ramess at quicinc.com>
----
- drivers/net/wireless/ath/ath11k/mac.c | 4 +++-
- drivers/net/wireless/ath/ath11k/wmi.c | 3 +--
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
---- a/drivers/net/wireless/ath/ath11k/mac.c
-+++ b/drivers/net/wireless/ath/ath11k/mac.c
-@@ -4222,7 +4222,9 @@ static int ath11k_install_key(struct ath
- 		return 0;
- 
- 	if (cmd == DISABLE_KEY) {
--		arg.key_cipher = WMI_CIPHER_NONE;
-+		/* TODO: Check if FW expects  value other than NONE for del */
-+		/* arg.key_cipher = WMI_CIPHER_NONE; */
-+		arg.key_len = 0;
- 		arg.key_data = NULL;
- 		goto install;
- 	}
---- a/drivers/net/wireless/ath/ath11k/wmi.c
-+++ b/drivers/net/wireless/ath/ath11k/wmi.c
-@@ -1854,8 +1854,7 @@ int ath11k_wmi_vdev_install_key(struct a
- 	tlv = (struct wmi_tlv *)(skb->data + sizeof(*cmd));
- 	tlv->header = FIELD_PREP(WMI_TLV_TAG, WMI_TAG_ARRAY_BYTE) |
- 		      FIELD_PREP(WMI_TLV_LEN, key_len_aligned);
--	if (arg->key_data)
--		memcpy(tlv->value, (u8 *)arg->key_data, key_len_aligned);
-+	memcpy(tlv->value, (u8 *)arg->key_data, key_len_aligned);
- 
- 	ret = ath11k_wmi_cmd_send(wmi, skb, WMI_VDEV_INSTALL_KEY_CMDID);
- 	if (ret) {
diff --git a/package/kernel/mac80211/patches/mwl/801-libertas-configure-sysfs-links.patch b/package/kernel/mac80211/patches/mwl/801-libertas-configure-sysfs-links.patch
index e6111871c0..bc9f81384e 100644
--- a/package/kernel/mac80211/patches/mwl/801-libertas-configure-sysfs-links.patch
+++ b/package/kernel/mac80211/patches/mwl/801-libertas-configure-sysfs-links.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/marvell/libertas/cfg.c
 +++ b/drivers/net/wireless/marvell/libertas/cfg.c
-@@ -2102,6 +2102,8 @@ struct wireless_dev *lbs_cfg_alloc(struc
+@@ -2105,6 +2105,8 @@ struct wireless_dev *lbs_cfg_alloc(struc
  		goto err_wiphy_new;
  	}
  
diff --git a/package/kernel/mac80211/patches/mwl/802-libertas-set-wireless-macaddr.patch b/package/kernel/mac80211/patches/mwl/802-libertas-set-wireless-macaddr.patch
index 97ddd66b32..9aa4d05473 100644
--- a/package/kernel/mac80211/patches/mwl/802-libertas-set-wireless-macaddr.patch
+++ b/package/kernel/mac80211/patches/mwl/802-libertas-set-wireless-macaddr.patch
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/marvell/libertas/cfg.c
 +++ b/drivers/net/wireless/marvell/libertas/cfg.c
-@@ -2179,6 +2179,8 @@ int lbs_cfg_register(struct lbs_private
+@@ -2182,6 +2182,8 @@ int lbs_cfg_register(struct lbs_private
  	wdev->wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites);
  	wdev->wiphy->reg_notifier = lbs_reg_notifier;
  
diff --git a/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch b/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch
index b56531435c..466eee61ed 100644
--- a/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch
+++ b/package/kernel/mac80211/patches/subsys/130-disable_auto_vif.patch
@@ -1,6 +1,6 @@
 --- a/net/mac80211/main.c
 +++ b/net/mac80211/main.c
-@@ -1585,24 +1585,6 @@ int ieee80211_register_hw(struct ieee802
+@@ -1590,24 +1590,6 @@ int ieee80211_register_hw(struct ieee802
  
  	ieee80211_check_wbrf_support(local);
  
diff --git a/package/kernel/mac80211/patches/subsys/330-wifi-cfg80211-add-option-for-vif-allowed-radios.patch b/package/kernel/mac80211/patches/subsys/330-wifi-cfg80211-add-option-for-vif-allowed-radios.patch
index dca56f8680..4ecbc514fc 100644
--- a/package/kernel/mac80211/patches/subsys/330-wifi-cfg80211-add-option-for-vif-allowed-radios.patch
+++ b/package/kernel/mac80211/patches/subsys/330-wifi-cfg80211-add-option-for-vif-allowed-radios.patch
@@ -246,7 +246,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  			continue;
  
  		for (i = 0; i < rdev_req->n_channels; i++) {
-@@ -3512,9 +3513,12 @@ int cfg80211_wext_siwscan(struct net_dev
+@@ -3513,9 +3514,12 @@ int cfg80211_wext_siwscan(struct net_dev
  			continue;
  
  		for (j = 0; j < wiphy->bands[band]->n_channels; j++) {
diff --git a/package/kernel/mac80211/patches/subsys/342-wifi-mac80211-Support-EHT-1024-aggregation-size-in-T.patch b/package/kernel/mac80211/patches/subsys/342-wifi-mac80211-Support-EHT-1024-aggregation-size-in-T.patch
index 2771f5eac7..e4159d2b3d 100644
--- a/package/kernel/mac80211/patches/subsys/342-wifi-mac80211-Support-EHT-1024-aggregation-size-in-T.patch
+++ b/package/kernel/mac80211/patches/subsys/342-wifi-mac80211-Support-EHT-1024-aggregation-size-in-T.patch
@@ -26,11 +26,9 @@ Signed-off-by: Johannes Berg <johannes.berg at intel.com>
  net/mac80211/ieee80211_i.h |  9 +++-
  5 files changed, 90 insertions(+), 48 deletions(-)
 
-diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
-index 456bca45ff05..05dedc45505c 100644
 --- a/include/linux/ieee80211.h
 +++ b/include/linux/ieee80211.h
-@@ -1445,6 +1445,8 @@ struct ieee80211_mgmt {
+@@ -1492,6 +1492,8 @@ struct ieee80211_mgmt {
  					__le16 status;
  					__le16 capab;
  					__le16 timeout;
@@ -39,11 +37,9 @@ index 456bca45ff05..05dedc45505c 100644
  				} __packed addba_resp;
  				struct{
  					u8 action_code;
-diff --git a/net/mac80211/agg-rx.c b/net/mac80211/agg-rx.c
-index fe7eab4b681b..f3fbe5a4395e 100644
 --- a/net/mac80211/agg-rx.c
 +++ b/net/mac80211/agg-rx.c
-@@ -170,28 +170,63 @@ static void sta_rx_agg_reorder_timer_expired(struct timer_list *t)
+@@ -170,28 +170,63 @@ static void sta_rx_agg_reorder_timer_exp
  	rcu_read_unlock();
  }
  
@@ -117,7 +113,7 @@ index fe7eab4b681b..f3fbe5a4395e 100644
  {
  	struct ieee80211_sub_if_data *sdata = sta->sdata;
  	struct ieee80211_local *local = sdata->local;
-@@ -223,8 +258,8 @@ static void ieee80211_send_addba_resp(struct sta_info *sta, u8 *da, u16 tid,
+@@ -223,8 +258,8 @@ static void ieee80211_send_addba_resp(st
  	mgmt->u.action.u.addba_resp.timeout = cpu_to_le16(timeout);
  	mgmt->u.action.u.addba_resp.status = cpu_to_le16(status);
  
@@ -128,7 +124,7 @@ index fe7eab4b681b..f3fbe5a4395e 100644
  
  	ieee80211_tx_skb(sdata, skb);
  }
-@@ -233,7 +268,7 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
+@@ -233,7 +268,7 @@ void __ieee80211_start_rx_ba_session(str
  				     u8 dialog_token, u16 timeout,
  				     u16 start_seq_num, u16 ba_policy, u16 tid,
  				     u16 buf_size, bool tx, bool auto_seq,
@@ -137,7 +133,7 @@ index fe7eab4b681b..f3fbe5a4395e 100644
  {
  	struct ieee80211_local *local = sta->sdata->local;
  	struct tid_ampdu_rx *tid_agg_rx;
-@@ -419,7 +454,7 @@ void __ieee80211_start_rx_ba_session(struct sta_info *sta,
+@@ -419,7 +454,7 @@ end:
  	if (tx)
  		ieee80211_send_addba_resp(sta, sta->sta.addr, tid,
  					  dialog_token, status, 1, buf_size,
@@ -146,7 +142,7 @@ index fe7eab4b681b..f3fbe5a4395e 100644
  }
  
  void ieee80211_process_addba_request(struct ieee80211_local *local,
-@@ -428,9 +463,7 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
+@@ -428,9 +463,7 @@ void ieee80211_process_addba_request(str
  				     size_t len)
  {
  	u16 capab, tid, timeout, ba_policy, buf_size, start_seq_num;
@@ -157,7 +153,7 @@ index fe7eab4b681b..f3fbe5a4395e 100644
  
  	/* extract session parameters from addba request frame */
  	dialog_token = mgmt->u.action.u.addba_req.dialog_token;
-@@ -443,28 +476,17 @@ void ieee80211_process_addba_request(struct ieee80211_local *local,
+@@ -443,28 +476,17 @@ void ieee80211_process_addba_request(str
  	tid = (capab & IEEE80211_ADDBA_PARAM_TID_MASK) >> 2;
  	buf_size = (capab & IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK) >> 6;
  
@@ -194,8 +190,6 @@ index fe7eab4b681b..f3fbe5a4395e 100644
  }
  
  void ieee80211_manage_rx_ba_offl(struct ieee80211_vif *vif,
-diff --git a/net/mac80211/agg-tx.c b/net/mac80211/agg-tx.c
-index 04cb45cfb310..61f2cac37728 100644
 --- a/net/mac80211/agg-tx.c
 +++ b/net/mac80211/agg-tx.c
 @@ -58,23 +58,24 @@
@@ -228,7 +222,7 @@ index 04cb45cfb310..61f2cac37728 100644
  
  	skb_put(skb, 1 + sizeof(mgmt->u.action.u.addba_req));
  
-@@ -93,6 +94,9 @@ static void ieee80211_send_addba_request(struct ieee80211_sub_if_data *sdata,
+@@ -93,6 +94,9 @@ static void ieee80211_send_addba_request
  	mgmt->u.action.u.addba_req.start_seq_num =
  					cpu_to_le16(start_seq_num << 4);
  
@@ -238,7 +232,7 @@ index 04cb45cfb310..61f2cac37728 100644
  	ieee80211_tx_skb_tid(sdata, skb, tid, -1);
  }
  
-@@ -460,8 +464,11 @@ static void ieee80211_send_addba_with_timeout(struct sta_info *sta,
+@@ -460,8 +464,11 @@ static void ieee80211_send_addba_with_ti
  	sta->ampdu_mlme.addba_req_num[tid]++;
  	spin_unlock_bh(&sta->lock);
  
@@ -251,7 +245,7 @@ index 04cb45cfb310..61f2cac37728 100644
  	} else {
  		/*
  		 * We really should use what the driver told us it will
-@@ -473,9 +480,8 @@ static void ieee80211_send_addba_with_timeout(struct sta_info *sta,
+@@ -473,9 +480,8 @@ static void ieee80211_send_addba_with_ti
  	}
  
  	/* send AddBA request */
@@ -263,7 +257,7 @@ index 04cb45cfb310..61f2cac37728 100644
  
  	WARN_ON(test_and_set_bit(HT_AGG_STATE_SENT_ADDBA, &tid_tx->state));
  }
-@@ -970,6 +976,13 @@ void ieee80211_process_addba_resp(struct ieee80211_local *local,
+@@ -970,6 +976,13 @@ void ieee80211_process_addba_resp(struct
  	amsdu = capab & IEEE80211_ADDBA_PARAM_AMSDU_MASK;
  	tid = u16_get_bits(capab, IEEE80211_ADDBA_PARAM_TID_MASK);
  	buf_size = u16_get_bits(capab, IEEE80211_ADDBA_PARAM_BUF_SIZE_MASK);
@@ -277,11 +271,9 @@ index 04cb45cfb310..61f2cac37728 100644
  	buf_size = min(buf_size, local->hw.max_tx_aggregation_subframes);
  
  	txq = sta->sta.txq[tid];
-diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c
-index 1c2b7dd8976a..32390d8a9d75 100644
 --- a/net/mac80211/ht.c
 +++ b/net/mac80211/ht.c
-@@ -379,7 +379,7 @@ void ieee80211_ba_session_work(struct wiphy *wiphy, struct wiphy_work *work)
+@@ -379,7 +379,7 @@ void ieee80211_ba_session_work(struct wi
  				       sta->ampdu_mlme.tid_rx_manage_offl))
  			__ieee80211_start_rx_ba_session(sta, 0, 0, 0, 1, tid,
  							IEEE80211_MAX_AMPDU_BUF_HT,
@@ -290,11 +282,9 @@ index 1c2b7dd8976a..32390d8a9d75 100644
  
  		if (test_and_clear_bit(tid + IEEE80211_NUM_TIDS,
  				       sta->ampdu_mlme.tid_rx_manage_offl))
-diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
-index 7dcb46120abc..752297bcde76 100644
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -2111,14 +2111,19 @@ int ieee80211_send_smps_action(struct ieee80211_sub_if_data *sdata,
+@@ -2131,14 +2131,19 @@ int ieee80211_send_smps_action(struct ie
  			       const u8 *bssid, int link_id);
  bool ieee80211_smps_is_restrictive(enum ieee80211_smps_mode smps_mode_old,
  				   enum ieee80211_smps_mode smps_mode_new);
@@ -316,6 +306,3 @@ index 7dcb46120abc..752297bcde76 100644
  void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta,
  					 enum ieee80211_agg_stop_reason reason);
  void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
--- 
-2.39.5
-




More information about the lede-commits mailing list