mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2026-02-08 05:10:43 +01:00
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@hauke-m.de>
This commit is contained in:
parent
0c1ff934ec
commit
8554e22ace
10 changed files with 39 additions and 96 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ Tested-by: Florian Maurer <maurer@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@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@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;
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ Signed-off-by: Robert Marko <robimarko@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@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;
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ Signed-off-by: Aditya Kumar Singh <quic_adisi@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@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@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@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@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@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@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@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@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@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,
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
From 52393e2ae12f18fb1a60578c24c46ebab292ddb6 Mon Sep 17 00:00:00 2001
|
||||
From: Rameshkumar Sundaram <quic_ramess@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@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) {
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ Signed-off-by: Felix Fietkau <nbd@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++) {
|
||||
|
|
|
|||
|
|
@ -26,11 +26,9 @@ Signed-off-by: Johannes Berg <johannes.berg@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
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue