aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/subsys
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2018-09-23 18:02:35 +0200
committerJohn Crispin <john@phrozen.org>2018-09-26 16:39:44 +0200
commitdb90c243a0b9bd72fc691cd09e58a96ac2a452cf (patch)
tree50896a95c2bb146907b5d40bb561d541994cade0 /package/kernel/mac80211/patches/subsys
parent61b5b4971e7d6aab6b0695997c3b5aaf73c53b5f (diff)
downloadupstream-db90c243a0b9bd72fc691cd09e58a96ac2a452cf.tar.gz
upstream-db90c243a0b9bd72fc691cd09e58a96ac2a452cf.tar.bz2
upstream-db90c243a0b9bd72fc691cd09e58a96ac2a452cf.zip
mac80211: update to version based on 4.19-rc4
This updates mac80211 to backports based on kernel 4.19-rc4. I plan to integrate all the patches which are in this tar into upstream backports soon. I used the backports generated from this code: https://github.com/hauke/backports/commits/wip2 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211/patches/subsys')
-rw-r--r--package/kernel/mac80211/patches/subsys/100-remove-cryptoapi-dependencies.patch24
-rw-r--r--package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/130-disable-fils.patch4
-rw-r--r--package/kernel/mac80211/patches/subsys/140-tweak-TSQ-setting.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch18
-rw-r--r--package/kernel/mac80211/patches/subsys/210-ap_scan.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/357-mac80211-add-hdrlen-to-ieee80211_tx_data.patch24
-rw-r--r--package/kernel/mac80211/patches/subsys/358-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch74
-rw-r--r--package/kernel/mac80211/patches/subsys/359-mac80211-minstrel-Enable-STBC-and-LDPC-for-VHT-Rates.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/370-mac80211-minstrel-remove-unnecessary-debugfs-cleanup.patch36
-rw-r--r--package/kernel/mac80211/patches/subsys/371-mac80211-minstrel-merge-with-minstrel_ht-always-enab.patch69
-rw-r--r--package/kernel/mac80211/patches/subsys/373-mac80211-minstrel-fix-using-short-preamble-CCK-rates.patch6
-rw-r--r--package/kernel/mac80211/patches/subsys/378-mac80211-fix-memory-accounting-with-A-MSDU-aggregati.patch14
-rw-r--r--package/kernel/mac80211/patches/subsys/379-cfg80211-initialize-sinfo-in-cfg80211_get_station.patch42
-rw-r--r--package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch82
15 files changed, 147 insertions, 254 deletions
diff --git a/package/kernel/mac80211/patches/subsys/100-remove-cryptoapi-dependencies.patch b/package/kernel/mac80211/patches/subsys/100-remove-cryptoapi-dependencies.patch
index 8d7a39a6df..0fe6ee196c 100644
--- a/package/kernel/mac80211/patches/subsys/100-remove-cryptoapi-dependencies.patch
+++ b/package/kernel/mac80211/patches/subsys/100-remove-cryptoapi-dependencies.patch
@@ -1,6 +1,6 @@
--- a/net/mac80211/Makefile
+++ b/net/mac80211/Makefile
-@@ -6,7 +6,6 @@ mac80211-y := \
+@@ -7,7 +7,6 @@ mac80211-y := \
driver-ops.o \
sta_info.o \
wep.o \
@@ -8,7 +8,7 @@
wpa.o \
scan.o offchannel.o \
ht.o agg-tx.o agg-rx.o \
-@@ -16,8 +15,8 @@ mac80211-y := \
+@@ -18,8 +17,8 @@ mac80211-y := \
rate.o \
michael.o \
tkip.o \
@@ -385,7 +385,7 @@
#endif /* AES_GCM_H */
--- a/net/mac80211/wpa.c
+++ b/net/mac80211/wpa.c
-@@ -306,7 +306,8 @@ ieee80211_crypto_tkip_decrypt(struct iee
+@@ -314,7 +314,8 @@ ieee80211_crypto_tkip_decrypt(struct iee
}
@@ -395,7 +395,7 @@
{
__le16 mask_fc;
int a4_included, mgmt;
-@@ -336,14 +337,8 @@ static void ccmp_special_blocks(struct s
+@@ -344,14 +345,8 @@ static void ccmp_special_blocks(struct s
else
qos_tid = 0;
@@ -412,7 +412,7 @@
/* Nonce: Nonce Flags | A2 | PN
* Nonce Flags: Priority (b0..b3) | Management (b4) | Reserved (b5..b7)
-@@ -351,6 +346,8 @@ static void ccmp_special_blocks(struct s
+@@ -359,6 +354,8 @@ static void ccmp_special_blocks(struct s
b_0[1] = qos_tid | (mgmt << 4);
memcpy(&b_0[2], hdr->addr2, ETH_ALEN);
memcpy(&b_0[8], pn, IEEE80211_CCMP_PN_LEN);
@@ -421,7 +421,7 @@
/* AAD (extra authenticate-only data) / masked 802.11 header
* FC | A1 | A2 | A3 | SC | [A4] | [QC] */
-@@ -407,7 +404,7 @@ static int ccmp_encrypt_skb(struct ieee8
+@@ -415,7 +412,7 @@ static int ccmp_encrypt_skb(struct ieee8
u8 *pos;
u8 pn[6];
u64 pn64;
@@ -430,7 +430,7 @@
u8 b_0[AES_BLOCK_SIZE];
if (info->control.hw_key &&
-@@ -462,9 +459,11 @@ static int ccmp_encrypt_skb(struct ieee8
+@@ -470,9 +467,11 @@ static int ccmp_encrypt_skb(struct ieee8
return 0;
pos += IEEE80211_CCMP_HDR_LEN;
@@ -445,7 +445,7 @@
}
-@@ -537,13 +536,13 @@ ieee80211_crypto_ccmp_decrypt(struct iee
+@@ -545,13 +544,13 @@ ieee80211_crypto_ccmp_decrypt(struct iee
u8 aad[2 * AES_BLOCK_SIZE];
u8 b_0[AES_BLOCK_SIZE];
/* hardware didn't decrypt/verify MIC */
@@ -461,7 +461,7 @@
return RX_DROP_UNUSABLE;
}
-@@ -639,7 +638,7 @@ static int gcmp_encrypt_skb(struct ieee8
+@@ -646,7 +645,7 @@ static int gcmp_encrypt_skb(struct ieee8
u8 *pos;
u8 pn[6];
u64 pn64;
@@ -470,7 +470,7 @@
u8 j_0[AES_BLOCK_SIZE];
if (info->control.hw_key &&
-@@ -696,8 +695,10 @@ static int gcmp_encrypt_skb(struct ieee8
+@@ -703,8 +702,10 @@ static int gcmp_encrypt_skb(struct ieee8
pos += IEEE80211_GCMP_HDR_LEN;
gcmp_special_blocks(skb, pn, j_0, aad);
@@ -483,7 +483,7 @@
}
ieee80211_tx_result
-@@ -1121,9 +1122,9 @@ ieee80211_crypto_aes_gmac_encrypt(struct
+@@ -1127,9 +1128,9 @@ ieee80211_crypto_aes_gmac_encrypt(struct
struct ieee80211_key *key = tx->key;
struct ieee80211_mmie_16 *mmie;
struct ieee80211_hdr *hdr;
@@ -495,7 +495,7 @@
if (WARN_ON(skb_queue_len(&tx->skbs) != 1))
return TX_DROP;
-@@ -1169,7 +1170,7 @@ ieee80211_crypto_aes_gmac_decrypt(struct
+@@ -1175,7 +1176,7 @@ ieee80211_crypto_aes_gmac_decrypt(struct
struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb);
struct ieee80211_key *key = rx->key;
struct ieee80211_mmie_16 *mmie;
diff --git a/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch b/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch
index 3b1fcdf9c8..4630274cb4 100644
--- a/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch
+++ b/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch
@@ -2,7 +2,7 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnects
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -1058,7 +1058,6 @@ static int ieee80211_stop_ap(struct wiph
+@@ -1063,7 +1063,6 @@ static int ieee80211_stop_ap(struct wiph
sdata->u.ap.driver_smps_mode = IEEE80211_SMPS_OFF;
__sta_info_flush(sdata, true);
diff --git a/package/kernel/mac80211/patches/subsys/130-disable-fils.patch b/package/kernel/mac80211/patches/subsys/130-disable-fils.patch
index 1f03589878..f1163764a0 100644
--- a/package/kernel/mac80211/patches/subsys/130-disable-fils.patch
+++ b/package/kernel/mac80211/patches/subsys/130-disable-fils.patch
@@ -21,7 +21,7 @@ Disable FILS support, since it pulls in crypto hash support
* Copyright 2016, Qualcomm Atheros, Inc.
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
-@@ -550,7 +550,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -570,7 +570,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
NL80211_FEATURE_MAC_ON_CREATE |
NL80211_FEATURE_USERSPACE_MPM |
NL80211_FEATURE_FULL_AP_CLIENT_STATE;
@@ -29,4 +29,4 @@ Disable FILS support, since it pulls in crypto hash support
+#if 0 /* LINUX_VERSION_IS_GEQ(4,3,0) */
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_FILS_STA);
#endif
-
+ wiphy_ext_feature_set(wiphy,
diff --git a/package/kernel/mac80211/patches/subsys/140-tweak-TSQ-setting.patch b/package/kernel/mac80211/patches/subsys/140-tweak-TSQ-setting.patch
index 6e9a07a927..e0fe5a1b79 100644
--- a/package/kernel/mac80211/patches/subsys/140-tweak-TSQ-setting.patch
+++ b/package/kernel/mac80211/patches/subsys/140-tweak-TSQ-setting.patch
@@ -1,6 +1,6 @@
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -3750,6 +3750,12 @@ out:
+@@ -3787,6 +3787,12 @@ out:
netdev_tx_t ieee80211_subif_start_xmit(struct sk_buff *skb,
struct net_device *dev)
{
diff --git a/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch b/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch
index 781dd3c1bc..db3c693fd4 100644
--- a/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch
+++ b/package/kernel/mac80211/patches/subsys/150-disable_addr_notifier.patch
@@ -1,6 +1,6 @@
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
-@@ -292,7 +292,7 @@ void ieee80211_restart_hw(struct ieee802
+@@ -315,7 +315,7 @@ void ieee80211_restart_hw(struct ieee802
}
EXPORT_SYMBOL(ieee80211_restart_hw);
@@ -9,7 +9,7 @@
static int ieee80211_ifa_changed(struct notifier_block *nb,
unsigned long data, void *arg)
{
-@@ -351,7 +351,7 @@ static int ieee80211_ifa_changed(struct
+@@ -374,7 +374,7 @@ static int ieee80211_ifa_changed(struct
}
#endif
@@ -18,9 +18,9 @@
static int ieee80211_ifa6_changed(struct notifier_block *nb,
unsigned long data, void *arg)
{
-@@ -1114,14 +1114,14 @@ int ieee80211_register_hw(struct ieee802
- if (result)
- goto fail_flows;
+@@ -1168,14 +1168,14 @@ int ieee80211_register_hw(struct ieee802
+
+ rtnl_unlock();
-#ifdef CONFIG_INET
+#ifdef __disabled__CONFIG_INET
@@ -35,7 +35,7 @@
local->ifa6_notifier.notifier_call = ieee80211_ifa6_changed;
result = register_inet6addr_notifier(&local->ifa6_notifier);
if (result)
-@@ -1130,13 +1130,13 @@ int ieee80211_register_hw(struct ieee802
+@@ -1184,13 +1184,13 @@ int ieee80211_register_hw(struct ieee802
return 0;
@@ -51,8 +51,8 @@
+#if defined(__disabled__CONFIG_INET) || defined(__disabled__CONFIG_IPV6)
fail_ifa:
#endif
- ieee80211_txq_teardown_flows(local);
-@@ -1166,10 +1166,10 @@ void ieee80211_unregister_hw(struct ieee
+ rtnl_lock();
+@@ -1220,10 +1220,10 @@ void ieee80211_unregister_hw(struct ieee
tasklet_kill(&local->tx_pending_tasklet);
tasklet_kill(&local->tasklet);
@@ -64,4 +64,4 @@
+#if IS_ENABLED(__disabled__CONFIG_IPV6)
unregister_inet6addr_notifier(&local->ifa6_notifier);
#endif
-
+ ieee80211_txq_teardown_flows(local);
diff --git a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch
index 8ade963c9f..174096f5ea 100644
--- a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch
+++ b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch
@@ -1,6 +1,6 @@
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -2215,7 +2215,7 @@ static int ieee80211_scan(struct wiphy *
+@@ -2229,7 +2229,7 @@ static int ieee80211_scan(struct wiphy *
* the frames sent while scanning on other channel will be
* lost)
*/
diff --git a/package/kernel/mac80211/patches/subsys/357-mac80211-add-hdrlen-to-ieee80211_tx_data.patch b/package/kernel/mac80211/patches/subsys/357-mac80211-add-hdrlen-to-ieee80211_tx_data.patch
index 83c613434d..f4fc431f35 100644
--- a/package/kernel/mac80211/patches/subsys/357-mac80211-add-hdrlen-to-ieee80211_tx_data.patch
+++ b/package/kernel/mac80211/patches/subsys/357-mac80211-add-hdrlen-to-ieee80211_tx_data.patch
@@ -11,7 +11,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
-@@ -177,6 +177,7 @@ struct ieee80211_tx_data {
+@@ -179,6 +179,7 @@ struct ieee80211_tx_data {
struct ieee80211_tx_rate rate;
unsigned int flags;
@@ -39,7 +39,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
/* internal error, why isn't DONTFRAG set? */
if (WARN_ON(skb->len + FCS_LEN <= frag_threshold))
return TX_DROP;
-@@ -1175,6 +1173,8 @@ ieee80211_tx_prepare(struct ieee80211_su
+@@ -1174,6 +1172,8 @@ ieee80211_tx_prepare(struct ieee80211_su
hdr = (struct ieee80211_hdr *) skb->data;
@@ -48,7 +48,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
if (likely(sta)) {
if (!IS_ERR(sta))
tx->sta = sta;
-@@ -3468,6 +3468,7 @@ begin:
+@@ -3497,6 +3497,7 @@ begin:
tx.local = local;
tx.skb = skb;
tx.sdata = vif_to_sdata(info->control.vif);
@@ -56,7 +56,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
if (txq->sta)
tx.sta = container_of(txq->sta, struct sta_info, sta);
-@@ -3796,6 +3797,7 @@ ieee80211_build_data_template(struct iee
+@@ -3833,6 +3834,7 @@ ieee80211_build_data_template(struct iee
hdr = (void *)skb->data;
tx.sta = sta_info_get(sdata, hdr->addr1);
tx.skb = skb;
@@ -66,7 +66,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
rcu_read_unlock();
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
-@@ -1232,6 +1232,7 @@ void ieee80211_send_auth(struct ieee8021
+@@ -1290,6 +1290,7 @@ void ieee80211_send_auth(struct ieee8021
struct ieee80211_local *local = sdata->local;
struct sk_buff *skb;
struct ieee80211_mgmt *mgmt;
@@ -74,7 +74,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
int err;
/* 24 + 6 = header + auth_algo + auth_transaction + status_code */
-@@ -1255,8 +1256,10 @@ void ieee80211_send_auth(struct ieee8021
+@@ -1313,8 +1314,10 @@ void ieee80211_send_auth(struct ieee8021
skb_put_data(skb, extra, extra_len);
if (auth_alg == WLAN_AUTH_SHARED_KEY && transaction == 3) {
@@ -164,7 +164,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
if (skb->len < hdrlen)
return TX_DROP;
-@@ -187,7 +187,6 @@ mic_fail_no_key:
+@@ -195,7 +195,6 @@ mic_fail_no_key:
static int tkip_encrypt_skb(struct ieee80211_tx_data *tx, struct sk_buff *skb)
{
@@ -172,7 +172,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
struct ieee80211_key *key = tx->key;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
unsigned int hdrlen;
-@@ -202,7 +201,7 @@ static int tkip_encrypt_skb(struct ieee8
+@@ -210,7 +209,7 @@ static int tkip_encrypt_skb(struct ieee8
return 0;
}
@@ -181,7 +181,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
len = skb->len - hdrlen;
if (info->control.hw_key)
-@@ -420,7 +419,7 @@ static int ccmp_encrypt_skb(struct ieee8
+@@ -428,7 +427,7 @@ static int ccmp_encrypt_skb(struct ieee8
return 0;
}
@@ -190,7 +190,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
len = skb->len - hdrlen;
if (info->control.hw_key)
-@@ -653,7 +652,7 @@ static int gcmp_encrypt_skb(struct ieee8
+@@ -660,7 +659,7 @@ static int gcmp_encrypt_skb(struct ieee8
return 0;
}
@@ -199,7 +199,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
len = skb->len - hdrlen;
if (info->control.hw_key)
-@@ -793,7 +792,6 @@ static ieee80211_tx_result
+@@ -800,7 +799,6 @@ static ieee80211_tx_result
ieee80211_crypto_cs_encrypt(struct ieee80211_tx_data *tx,
struct sk_buff *skb)
{
@@ -207,7 +207,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
struct ieee80211_key *key = tx->key;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
int hdrlen;
-@@ -809,8 +807,7 @@ ieee80211_crypto_cs_encrypt(struct ieee8
+@@ -816,8 +814,7 @@ ieee80211_crypto_cs_encrypt(struct ieee8
pskb_expand_head(skb, iv_len, 0, GFP_ATOMIC)))
return TX_DROP;
diff --git a/package/kernel/mac80211/patches/subsys/358-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch b/package/kernel/mac80211/patches/subsys/358-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch
index 417013890b..c52a4f61a9 100644
--- a/package/kernel/mac80211/patches/subsys/358-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch
+++ b/package/kernel/mac80211/patches/subsys/358-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch
@@ -21,11 +21,9 @@ wep/tkip/ccmp.
Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
---
-Index: backports-v4.18-rc7/include/net/mac80211.h
-===================================================================
---- backports-v4.18-rc7.orig/include/net/mac80211.h
-+++ backports-v4.18-rc7/include/net/mac80211.h
-@@ -2084,6 +2084,9 @@ struct ieee80211_txq {
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -2127,6 +2127,9 @@ struct ieee80211_txq {
* @IEEE80211_HW_DOESNT_SUPPORT_QOS_NDP: The driver (or firmware) doesn't
* support QoS NDP for AP probing - that's most likely a driver bug.
*
@@ -35,7 +33,7 @@ Index: backports-v4.18-rc7/include/net/mac80211.h
* @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays
*/
enum ieee80211_hw_flags {
-@@ -2129,6 +2132,7 @@ enum ieee80211_hw_flags {
+@@ -2172,6 +2175,7 @@ enum ieee80211_hw_flags {
IEEE80211_HW_SUPPORTS_TDLS_BUFFER_STA,
IEEE80211_HW_DEAUTH_NEED_MGD_TX_PREP,
IEEE80211_HW_DOESNT_SUPPORT_QOS_NDP,
@@ -43,10 +41,8 @@ Index: backports-v4.18-rc7/include/net/mac80211.h
/* keep last, obviously */
NUM_IEEE80211_HW_FLAGS
-Index: backports-v4.18-rc7/net/mac80211/debugfs.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/debugfs.c
-+++ backports-v4.18-rc7/net/mac80211/debugfs.c
+--- a/net/mac80211/debugfs.c
++++ b/net/mac80211/debugfs.c
@@ -214,6 +214,7 @@ static const char *hw_flag_names[] = {
FLAG(SUPPORTS_TDLS_BUFFER_STA),
FLAG(DEAUTH_NEED_MGD_TX_PREP),
@@ -55,11 +51,9 @@ Index: backports-v4.18-rc7/net/mac80211/debugfs.c
#undef FLAG
};
-Index: backports-v4.18-rc7/net/mac80211/ieee80211_i.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/ieee80211_i.h
-+++ backports-v4.18-rc7/net/mac80211/ieee80211_i.h
-@@ -1550,6 +1550,29 @@ ieee80211_vif_get_num_mcast_if(struct ie
+--- a/net/mac80211/ieee80211_i.h
++++ b/net/mac80211/ieee80211_i.h
+@@ -1557,6 +1557,29 @@ ieee80211_vif_get_num_mcast_if(struct ie
return -1;
}
@@ -89,10 +83,8 @@ Index: backports-v4.18-rc7/net/mac80211/ieee80211_i.h
u64 ieee80211_calculate_rx_timestamp(struct ieee80211_local *local,
struct ieee80211_rx_status *status,
unsigned int mpdu_len,
-Index: backports-v4.18-rc7/net/mac80211/sta_info.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/sta_info.h
-+++ backports-v4.18-rc7/net/mac80211/sta_info.h
+--- a/net/mac80211/sta_info.h
++++ b/net/mac80211/sta_info.h
@@ -301,7 +301,7 @@ struct ieee80211_fast_tx {
u8 hdr_len;
u8 sa_offs, da_offs, pn_offs;
@@ -102,10 +94,8 @@ Index: backports-v4.18-rc7/net/mac80211/sta_info.h
sizeof(rfc1042_header)] __aligned(2);
struct rcu_head rcu_head;
-Index: backports-v4.18-rc7/net/mac80211/status.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/status.c
-+++ backports-v4.18-rc7/net/mac80211/status.c
+--- a/net/mac80211/status.c
++++ b/net/mac80211/status.c
@@ -653,9 +653,22 @@ void ieee80211_tx_monitor(struct ieee802
struct sk_buff *skb2;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
@@ -129,10 +119,8 @@ Index: backports-v4.18-rc7/net/mac80211/status.c
/* send frame to monitor interfaces now */
rtap_len = ieee80211_tx_radiotap_len(info);
if (WARN_ON_ONCE(skb_headroom(skb) < rtap_len)) {
-Index: backports-v4.18-rc7/net/mac80211/tkip.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/tkip.c
-+++ backports-v4.18-rc7/net/mac80211/tkip.c
+--- a/net/mac80211/tkip.c
++++ b/net/mac80211/tkip.c
@@ -201,10 +201,12 @@ void ieee80211_get_tkip_p2k(struct ieee8
{
struct ieee80211_key *key = (struct ieee80211_key *)
@@ -147,11 +135,9 @@ Index: backports-v4.18-rc7/net/mac80211/tkip.c
u32 iv32 = get_unaligned_le32(&data[4]);
u16 iv16 = data[2] | (data[0] << 8);
-Index: backports-v4.18-rc7/net/mac80211/tx.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/tx.c
-+++ backports-v4.18-rc7/net/mac80211/tx.c
-@@ -1169,8 +1169,7 @@ ieee80211_tx_prepare(struct ieee80211_su
+--- a/net/mac80211/tx.c
++++ b/net/mac80211/tx.c
+@@ -1171,8 +1171,7 @@ ieee80211_tx_prepare(struct ieee80211_su
info->flags &= ~IEEE80211_TX_INTFL_NEED_TXPROCESSING;
hdr = (struct ieee80211_hdr *) skb->data;
@@ -161,7 +147,7 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
if (likely(sta)) {
if (!IS_ERR(sta))
-@@ -2200,7 +2199,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
+@@ -2205,7 +2204,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
goto fail;
hdr = (struct ieee80211_hdr *)(skb->data + len_rthdr);
@@ -170,7 +156,7 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
if (skb->len < len_rthdr + hdrlen)
goto fail;
-@@ -2418,7 +2417,7 @@ static struct sk_buff *ieee80211_build_h
+@@ -2423,7 +2422,7 @@ static struct sk_buff *ieee80211_build_h
struct ieee80211_chanctx_conf *chanctx_conf;
struct ieee80211_sub_if_data *ap_sdata;
enum nl80211_band band;
@@ -179,7 +165,7 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
if (IS_ERR(sta))
sta = NULL;
-@@ -2638,6 +2637,9 @@ static struct sk_buff *ieee80211_build_h
+@@ -2643,6 +2642,9 @@ static struct sk_buff *ieee80211_build_h
hdrlen += 2;
}
@@ -189,7 +175,7 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
/*
* Drop unicast frames to unauthorised stations unless they are
* EAPOL frames from the local station.
-@@ -2718,6 +2720,7 @@ static struct sk_buff *ieee80211_build_h
+@@ -2723,6 +2725,7 @@ static struct sk_buff *ieee80211_build_h
skb_pull(skb, skip_header_bytes);
head_need = hdrlen + encaps_len + meshhdrlen - skb_headroom(skb);
@@ -197,7 +183,7 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
/*
* So we need to modify the skb header and hence need a copy of
-@@ -2750,6 +2753,9 @@ static struct sk_buff *ieee80211_build_h
+@@ -2755,6 +2758,9 @@ static struct sk_buff *ieee80211_build_h
memcpy(skb_push(skb, meshhdrlen), &mesh_hdr, meshhdrlen);
#endif
@@ -207,7 +193,7 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
if (ieee80211_is_data_qos(fc)) {
__le16 *qos_control;
-@@ -2925,6 +2931,9 @@ void ieee80211_check_fast_xmit(struct st
+@@ -2930,6 +2936,9 @@ void ieee80211_check_fast_xmit(struct st
fc |= cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
}
@@ -217,7 +203,7 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
/* We store the key here so there's no point in using rcu_dereference()
* but that's fine because the code that changes the pointers will call
* this function after doing so. For a single CPU that would be enough,
-@@ -3513,7 +3522,7 @@ begin:
+@@ -3524,7 +3533,7 @@ begin:
if (tx.key &&
(tx.key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV))
@@ -226,11 +212,9 @@ Index: backports-v4.18-rc7/net/mac80211/tx.c
ieee80211_xmit_fast_finish(sta->sdata, sta, pn_offs,
tx.key, skb);
-Index: backports-v4.18-rc7/net/mac80211/util.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/util.c
-+++ backports-v4.18-rc7/net/mac80211/util.c
-@@ -1274,6 +1274,7 @@ void ieee80211_send_auth(struct ieee8021
+--- a/net/mac80211/util.c
++++ b/net/mac80211/util.c
+@@ -1288,6 +1288,7 @@ void ieee80211_send_auth(struct ieee8021
u32 tx_flags)
{
struct ieee80211_local *local = sdata->local;
@@ -238,7 +222,7 @@ Index: backports-v4.18-rc7/net/mac80211/util.c
struct sk_buff *skb;
struct ieee80211_mgmt *mgmt;
unsigned int hdrlen;
-@@ -1300,7 +1301,7 @@ void ieee80211_send_auth(struct ieee8021
+@@ -1314,7 +1315,7 @@ void ieee80211_send_auth(struct ieee8021
skb_put_data(skb, extra, extra_len);
if (auth_alg == WLAN_AUTH_SHARED_KEY && transaction == 3) {
diff --git a/package/kernel/mac80211/patches/subsys/359-mac80211-minstrel-Enable-STBC-and-LDPC-for-VHT-Rates.patch b/package/kernel/mac80211/patches/subsys/359-mac80211-minstrel-Enable-STBC-and-LDPC-for-VHT-Rates.patch
index 609b15b832..661fb46ea4 100644
--- a/package/kernel/mac80211/patches/subsys/359-mac80211-minstrel-Enable-STBC-and-LDPC-for-VHT-Rates.patch
+++ b/package/kernel/mac80211/patches/subsys/359-mac80211-minstrel-Enable-STBC-and-LDPC-for-VHT-Rates.patch
@@ -10,7 +10,7 @@ Signed-off-by: Chaitanya TK <chaitanya.mgit@gmail.com>
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
-@@ -1556,6 +1556,7 @@ struct ieee80211_vht_operation {
+@@ -1659,6 +1659,7 @@ struct ieee80211_mu_edca_param_set {
#define IEEE80211_VHT_CAP_RXSTBC_3 0x00000300
#define IEEE80211_VHT_CAP_RXSTBC_4 0x00000400
#define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700
diff --git a/package/kernel/mac80211/patches/subsys/370-mac80211-minstrel-remove-unnecessary-debugfs-cleanup.patch b/package/kernel/mac80211/patches/subsys/370-mac80211-minstrel-remove-unnecessary-debugfs-cleanup.patch
index c871655a38..95d4f294aa 100644
--- a/package/kernel/mac80211/patches/subsys/370-mac80211-minstrel-remove-unnecessary-debugfs-cleanup.patch
+++ b/package/kernel/mac80211/patches/subsys/370-mac80211-minstrel-remove-unnecessary-debugfs-cleanup.patch
@@ -8,10 +8,8 @@ debugfs entries are cleaned up by debugfs_remove_recursive already.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel.c
+--- a/net/mac80211/rc80211_minstrel.c
++++ b/net/mac80211/rc80211_minstrel.c
@@ -689,8 +689,8 @@ minstrel_alloc(struct ieee80211_hw *hw,
#ifdef CPTCFG_MAC80211_DEBUGFS
@@ -41,10 +39,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.c
#endif
.get_expected_throughput = minstrel_get_expected_throughput,
};
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel.h
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel.h
+--- a/net/mac80211/rc80211_minstrel.h
++++ b/net/mac80211/rc80211_minstrel.h
@@ -109,11 +109,6 @@ struct minstrel_sta_info {
/* sampling table */
@@ -73,10 +69,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.h
/* Recalculate success probabilities and counters for a given rate using EWMA */
void minstrel_calc_rate_stats(struct minstrel_rate_stats *mrs);
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_debugfs.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_debugfs.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_debugfs.c
+--- a/net/mac80211/rc80211_minstrel_debugfs.c
++++ b/net/mac80211/rc80211_minstrel_debugfs.c
@@ -214,19 +214,7 @@ minstrel_add_sta_debugfs(void *priv, voi
{
struct minstrel_sta_info *mi = priv_sta;
@@ -100,10 +94,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_debugfs.c
+ debugfs_create_file("rc_stats_csv", S_IRUGO, dir, mi,
+ &minstrel_stat_csv_fops);
}
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_ht.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -1393,7 +1393,6 @@ static const struct rate_control_ops mac
.free = minstrel_ht_free,
#ifdef CPTCFG_MAC80211_DEBUGFS
@@ -112,10 +104,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
#endif
.get_expected_throughput = minstrel_ht_get_expected_throughput,
};
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_ht.h
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.h
+--- a/net/mac80211/rc80211_minstrel_ht.h
++++ b/net/mac80211/rc80211_minstrel_ht.h
@@ -110,17 +110,12 @@ struct minstrel_ht_sta_priv {
struct minstrel_ht_sta ht;
struct minstrel_sta_info legacy;
@@ -134,10 +124,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.h
int minstrel_ht_get_tp_avg(struct minstrel_ht_sta *mi, int group, int rate,
int prob_ewma);
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht_debugfs.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_ht_debugfs.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht_debugfs.c
+--- a/net/mac80211/rc80211_minstrel_ht_debugfs.c
++++ b/net/mac80211/rc80211_minstrel_ht_debugfs.c
@@ -303,17 +303,8 @@ minstrel_ht_add_sta_debugfs(void *priv,
{
struct minstrel_ht_sta_priv *msp = priv_sta;
diff --git a/package/kernel/mac80211/patches/subsys/371-mac80211-minstrel-merge-with-minstrel_ht-always-enab.patch b/package/kernel/mac80211/patches/subsys/371-mac80211-minstrel-merge-with-minstrel_ht-always-enab.patch
index 1c36a070ca..055472206e 100644
--- a/package/kernel/mac80211/patches/subsys/371-mac80211-minstrel-merge-with-minstrel_ht-always-enab.patch
+++ b/package/kernel/mac80211/patches/subsys/371-mac80211-minstrel-merge-with-minstrel_ht-always-enab.patch
@@ -10,10 +10,8 @@ lines of code to make it optional.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
-Index: backports-v4.18-rc7/net/mac80211/Kconfig
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/Kconfig
-+++ backports-v4.18-rc7/net/mac80211/Kconfig
+--- a/net/mac80211/Kconfig
++++ b/net/mac80211/Kconfig
@@ -25,20 +25,6 @@ config MAC80211_RC_MINSTREL
---help---
This option enables the 'minstrel' TX rate control algorithm
@@ -45,11 +43,9 @@ Index: backports-v4.18-rc7/net/mac80211/Kconfig
default ""
endif
-Index: backports-v4.18-rc7/net/mac80211/Makefile
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/Makefile
-+++ backports-v4.18-rc7/net/mac80211/Makefile
-@@ -51,13 +51,14 @@ mac80211-$(CONFIG_PM) += pm.o
+--- a/net/mac80211/Makefile
++++ b/net/mac80211/Makefile
+@@ -52,13 +52,14 @@ mac80211-$(CONFIG_PM) += pm.o
CFLAGS_trace.o := -I$(src)
@@ -69,11 +65,9 @@ Index: backports-v4.18-rc7/net/mac80211/Makefile
-mac80211-$(CPTCFG_MAC80211_RC_MINSTREL_HT) += $(rc80211_minstrel_ht-y)
ccflags-y += -DDEBUG
-Index: backports-v4.18-rc7/net/mac80211/main.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/main.c
-+++ backports-v4.18-rc7/net/mac80211/main.c
-@@ -1264,18 +1264,12 @@ static int __init ieee80211_init(void)
+--- a/net/mac80211/main.c
++++ b/net/mac80211/main.c
+@@ -1306,18 +1306,12 @@ static int __init ieee80211_init(void)
if (ret)
return ret;
@@ -92,7 +86,7 @@ Index: backports-v4.18-rc7/net/mac80211/main.c
rc80211_minstrel_exit();
return ret;
-@@ -1283,7 +1277,6 @@ static int __init ieee80211_init(void)
+@@ -1325,7 +1319,6 @@ static int __init ieee80211_init(void)
static void __exit ieee80211_exit(void)
{
@@ -100,10 +94,8 @@ Index: backports-v4.18-rc7/net/mac80211/main.c
rc80211_minstrel_exit();
ieee80211s_stop();
-Index: backports-v4.18-rc7/net/mac80211/rate.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rate.h
-+++ backports-v4.18-rc7/net/mac80211/rate.h
+--- a/net/mac80211/rate.h
++++ b/net/mac80211/rate.h
@@ -95,18 +95,5 @@ static inline void rc80211_minstrel_exit
}
#endif
@@ -123,10 +115,8 @@ Index: backports-v4.18-rc7/net/mac80211/rate.h
-
#endif /* IEEE80211_RATE_H */
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel.c
+--- a/net/mac80211/rc80211_minstrel.c
++++ b/net/mac80211/rc80211_minstrel.c
@@ -572,138 +572,6 @@ minstrel_rate_init(void *priv, struct ie
minstrel_update_rates(mp, mi);
}
@@ -266,7 +256,7 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.c
static u32 minstrel_get_expected_throughput(void *priv_sta)
{
struct minstrel_sta_info *mi = priv_sta;
-@@ -722,29 +590,8 @@ static u32 minstrel_get_expected_through
+@@ -722,28 +590,8 @@ static u32 minstrel_get_expected_through
}
const struct rate_control_ops mac80211_minstrel = {
@@ -295,11 +285,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.c
-{
- ieee80211_rate_control_unregister(&mac80211_minstrel);
-}
--
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel.h
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel.h
+--- a/net/mac80211/rc80211_minstrel.h
++++ b/net/mac80211/rc80211_minstrel.h
@@ -158,7 +158,5 @@ int minstrel_get_tp_avg(struct minstrel_
/* debugfs */
int minstrel_stats_open(struct inode *inode, struct file *file);
@@ -308,10 +295,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel.h
-int minstrel_stats_release(struct inode *inode, struct file *file);
#endif
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_debugfs.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_debugfs.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_debugfs.c
+--- a/net/mac80211/rc80211_minstrel_debugfs.c
++++ b/net/mac80211/rc80211_minstrel_debugfs.c
@@ -54,22 +54,6 @@
#include <net/mac80211.h>
#include "rc80211_minstrel.h"
@@ -372,10 +357,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_debugfs.c
- debugfs_create_file("rc_stats_csv", S_IRUGO, dir, mi,
- &minstrel_stat_csv_fops);
-}
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_ht.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -137,12 +137,10 @@
} \
}
@@ -539,10 +522,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
{
ieee80211_rate_control_unregister(&mac80211_minstrel_ht);
}
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_ht.h
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.h
+--- a/net/mac80211/rc80211_minstrel_ht.h
++++ b/net/mac80211/rc80211_minstrel_ht.h
@@ -15,11 +15,7 @@
*/
#define MINSTREL_MAX_STREAMS 3
@@ -567,10 +548,8 @@ Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.h
struct mcs_group {
u32 flags;
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht_debugfs.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_ht_debugfs.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht_debugfs.c
+--- a/net/mac80211/rc80211_minstrel_ht_debugfs.c
++++ b/net/mac80211/rc80211_minstrel_ht_debugfs.c
@@ -15,6 +15,22 @@
#include "rc80211_minstrel.h"
#include "rc80211_minstrel_ht.h"
diff --git a/package/kernel/mac80211/patches/subsys/373-mac80211-minstrel-fix-using-short-preamble-CCK-rates.patch b/package/kernel/mac80211/patches/subsys/373-mac80211-minstrel-fix-using-short-preamble-CCK-rates.patch
index 6478e9ec5a..502d8c7768 100644
--- a/package/kernel/mac80211/patches/subsys/373-mac80211-minstrel-fix-using-short-preamble-CCK-rates.patch
+++ b/package/kernel/mac80211/patches/subsys/373-mac80211-minstrel-fix-using-short-preamble-CCK-rates.patch
@@ -9,10 +9,8 @@ Fixes: 782dda00ab8e ("mac80211: minstrel_ht: move short preamble check out of ge
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
-Index: backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/rc80211_minstrel_ht.c
-+++ backports-v4.18-rc7/net/mac80211/rc80211_minstrel_ht.c
+--- a/net/mac80211/rc80211_minstrel_ht.c
++++ b/net/mac80211/rc80211_minstrel_ht.c
@@ -1135,7 +1135,6 @@ minstrel_ht_update_caps(void *priv, stru
struct ieee80211_mcs_info *mcs = &sta->ht_cap.mcs;
u16 ht_cap = sta->ht_cap.cap;
diff --git a/package/kernel/mac80211/patches/subsys/378-mac80211-fix-memory-accounting-with-A-MSDU-aggregati.patch b/package/kernel/mac80211/patches/subsys/378-mac80211-fix-memory-accounting-with-A-MSDU-aggregati.patch
index c64457a17f..54bb114f65 100644
--- a/package/kernel/mac80211/patches/subsys/378-mac80211-fix-memory-accounting-with-A-MSDU-aggregati.patch
+++ b/package/kernel/mac80211/patches/subsys/378-mac80211-fix-memory-accounting-with-A-MSDU-aggregati.patch
@@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
-@@ -3171,6 +3171,7 @@ static bool ieee80211_amsdu_aggregate(st
+@@ -3184,6 +3184,7 @@ static bool ieee80211_amsdu_aggregate(st
u8 max_subframes = sta->sta.max_amsdu_subframes;
int max_frags = local->hw.max_tx_fragments;
int max_amsdu_len = sta->sta.max_amsdu_len;
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
__be16 len;
void *data;
bool ret = false;
-@@ -3201,12 +3202,13 @@ static bool ieee80211_amsdu_aggregate(st
+@@ -3215,12 +3216,13 @@ static bool ieee80211_amsdu_aggregate(st
flow = fq_flow_classify(fq, tin, skb, fq_flow_get_default_func);
head = skb_peek_tail(&flow->queue);
if (!head)
@@ -44,11 +44,11 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
- goto out;
+ goto unlock;
- if (!ieee80211_amsdu_prepare_head(sdata, fast_tx, head))
- goto out;
-@@ -3249,6 +3251,9 @@ static bool ieee80211_amsdu_aggregate(st
- fq_recalc_backlog(fq, tin, flow);
-
+ nfrags = 1 + skb_shinfo(skb)->nr_frags;
+ nfrags += 1 + skb_shinfo(head)->nr_frags;
+@@ -3278,6 +3280,9 @@ out_recalc:
+ fq_recalc_backlog(fq, tin, flow);
+ }
out:
+ fq->memory_usage += head->truesize - orig_truesize;
+
diff --git a/package/kernel/mac80211/patches/subsys/379-cfg80211-initialize-sinfo-in-cfg80211_get_station.patch b/package/kernel/mac80211/patches/subsys/379-cfg80211-initialize-sinfo-in-cfg80211_get_station.patch
deleted file mode 100644
index 37323c1f7d..0000000000
--- a/package/kernel/mac80211/patches/subsys/379-cfg80211-initialize-sinfo-in-cfg80211_get_station.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 4f717a2589be649afddbbd3ac58b67ebfa7426f7 Mon Sep 17 00:00:00 2001
-From: Sven Eckelmann <sven@narfation.org>
-Date: Wed, 6 Jun 2018 10:18:31 +0200
-Subject: [PATCH v2] cfg80211: initialize sinfo in cfg80211_get_station
-
-Most of the implementations behind cfg80211_get_station will not initialize
-sinfo to zero before manipulating it. For example, the member "filled",
-which indicates the filled in parts of this struct, is often only modified
-by enabling certain bits in the bitfield while keeping the remaining bits
-in their original state. A caller without a preinitialized sinfo.filled can
-then no longer decide which parts of sinfo were filled in by
-cfg80211_get_station (or actually the underlying implementations).
-
-cfg80211_get_station must therefore take care that sinfo is initialized to
-zero. Otherwise, the caller may tries to read information which was not
-filled in and which must therefore also be considered uninitialized. In
-batadv_v_elp_get_throughput's case, an invalid "random" expected throughput
-may be stored for this neighbor and thus the B.A.T.M.A.N V algorithm may
-switch to non-optimal neighbors for certain destinations.
-
-Fixes: 7406353d43c8 ("cfg80211: implement cfg80211_get_station cfg80211 API")
-Reported-by: Thomas Lauer <holminateur@gmail.com>
-Reported-by: Marcel Schmidt <ff.z-casparistrasse@mailbox.org>
-Cc: b.a.t.m.a.n@lists.open-mesh.org
-Signed-off-by: Sven Eckelmann <sven@narfation.org>
-
-Forwarded: https://patchwork.kernel.org/patch/10449857/
----
- net/wireless/util.c | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/net/wireless/util.c
-+++ b/net/wireless/util.c
-@@ -1749,6 +1749,8 @@ int cfg80211_get_station(struct net_devi
- if (!rdev->ops->get_station)
- return -EOPNOTSUPP;
-
-+ memset(sinfo, 0, sizeof(*sinfo));
-+
- return rdev_get_station(rdev, dev, mac_addr, sinfo);
- }
- EXPORT_SYMBOL(cfg80211_get_station);
diff --git a/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch b/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch
index 3546b1d439..86bd2905ae 100644
--- a/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch
+++ b/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch
@@ -1,8 +1,6 @@
-Index: backports-v4.18-rc7/include/net/cfg80211.h
-===================================================================
---- backports-v4.18-rc7.orig/include/net/cfg80211.h
-+++ backports-v4.18-rc7/include/net/cfg80211.h
-@@ -2857,6 +2857,7 @@ struct cfg80211_external_auth_params {
+--- a/include/net/cfg80211.h
++++ b/include/net/cfg80211.h
+@@ -2959,6 +2959,7 @@ struct cfg80211_external_auth_params {
* (as advertised by the nl80211 feature flag.)
* @get_tx_power: store the current TX power into the dbm variable;
* return 0 if successful
@@ -10,7 +8,7 @@ Index: backports-v4.18-rc7/include/net/cfg80211.h
*
* @set_wds_peer: set the WDS peer for a WDS interface
*
-@@ -3157,6 +3158,7 @@ struct cfg80211_ops {
+@@ -3259,6 +3260,7 @@ struct cfg80211_ops {
enum nl80211_tx_power_setting type, int mbm);
int (*get_tx_power)(struct wiphy *wiphy, struct wireless_dev *wdev,
int *dbm);
@@ -18,11 +16,9 @@ Index: backports-v4.18-rc7/include/net/cfg80211.h
int (*set_wds_peer)(struct wiphy *wiphy, struct net_device *dev,
const u8 *addr);
-Index: backports-v4.18-rc7/include/net/mac80211.h
-===================================================================
---- backports-v4.18-rc7.orig/include/net/mac80211.h
-+++ backports-v4.18-rc7/include/net/mac80211.h
-@@ -1348,6 +1348,7 @@ enum ieee80211_smps_mode {
+--- a/include/net/mac80211.h
++++ b/include/net/mac80211.h
+@@ -1389,6 +1389,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
@@ -30,7 +26,7 @@ Index: backports-v4.18-rc7/include/net/mac80211.h
*
* @chandef: the channel definition to tune to
* @radar_enabled: whether radar detection is enabled
-@@ -1368,6 +1369,7 @@ enum ieee80211_smps_mode {
+@@ -1409,6 +1410,7 @@ enum ieee80211_smps_mode {
struct ieee80211_conf {
u32 flags;
int power_level, dynamic_ps_timeout;
@@ -38,13 +34,11 @@ Index: backports-v4.18-rc7/include/net/mac80211.h
u16 listen_interval;
u8 ps_dtim_period;
-Index: backports-v4.18-rc7/include/uapi/linux/nl80211.h
-===================================================================
---- backports-v4.18-rc7.orig/include/uapi/linux/nl80211.h
-+++ backports-v4.18-rc7/include/uapi/linux/nl80211.h
-@@ -2238,6 +2238,9 @@ enum nl80211_commands {
- * @NL80211_ATTR_TXQ_QUANTUM: TXQ scheduler quantum (bytes). Number of bytes
- * a flow is assigned on each round of the DRR scheduler.
+--- a/include/uapi/linux/nl80211.h
++++ b/include/uapi/linux/nl80211.h
+@@ -2241,6 +2241,9 @@ enum nl80211_commands {
+ * association request when used with NL80211_CMD_NEW_STATION). Can be set
+ * only if %NL80211_STA_FLAG_WME is set.
*
+ * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce
+ * transmit power to stay within regulatory limits. u32, dBi.
@@ -52,20 +46,18 @@ Index: backports-v4.18-rc7/include/uapi/linux/nl80211.h
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
-@@ -2677,6 +2680,8 @@ enum nl80211_attrs {
- NL80211_ATTR_TXQ_MEMORY_LIMIT,
- NL80211_ATTR_TXQ_QUANTUM,
+@@ -2682,6 +2685,8 @@ enum nl80211_attrs {
+
+ NL80211_ATTR_HE_CAPABILITY,
+ NL80211_ATTR_WIPHY_ANTENNA_GAIN,
+
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
-Index: backports-v4.18-rc7/net/mac80211/cfg.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/cfg.c
-+++ backports-v4.18-rc7/net/mac80211/cfg.c
-@@ -2489,6 +2489,19 @@ static int ieee80211_get_tx_power(struct
+--- a/net/mac80211/cfg.c
++++ b/net/mac80211/cfg.c
+@@ -2494,6 +2494,19 @@ static int ieee80211_get_tx_power(struct
return 0;
}
@@ -85,7 +77,7 @@ Index: backports-v4.18-rc7/net/mac80211/cfg.c
static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
const u8 *addr)
{
-@@ -3856,6 +3869,7 @@ const struct cfg80211_ops mac80211_confi
+@@ -3861,6 +3874,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,
@@ -93,11 +85,9 @@ Index: backports-v4.18-rc7/net/mac80211/cfg.c
.set_wds_peer = ieee80211_set_wds_peer,
.rfkill_poll = ieee80211_rfkill_poll,
CFG80211_TESTMODE_CMD(ieee80211_testmode_cmd)
-Index: backports-v4.18-rc7/net/mac80211/ieee80211_i.h
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/ieee80211_i.h
-+++ backports-v4.18-rc7/net/mac80211/ieee80211_i.h
-@@ -1350,6 +1350,7 @@ struct ieee80211_local {
+--- a/net/mac80211/ieee80211_i.h
++++ b/net/mac80211/ieee80211_i.h
+@@ -1352,6 +1352,7 @@ struct ieee80211_local {
int dynamic_ps_forced_timeout;
int user_power_level; /* in dBm, for all interfaces */
@@ -105,11 +95,9 @@ Index: backports-v4.18-rc7/net/mac80211/ieee80211_i.h
enum ieee80211_smps_mode smps_mode;
-Index: backports-v4.18-rc7/net/mac80211/main.c
-===================================================================
---- backports-v4.18-rc7.orig/net/mac80211/main.c
-+++ backports-v4.18-rc7/net/mac80211/main.c
-@@ -93,7 +93,7 @@ static u32 ieee80211_hw_conf_chan(struct
+--- a/net/mac80211/main.c
++++ b/net/mac80211/main.c
+@@ -94,7 +94,7 @@ static u32 ieee80211_hw_conf_chan(struct
struct ieee80211_sub_if_data *sdata;
struct cfg80211_chan_def chandef = {};
u32 changed = 0;
@@ -118,7 +106,7 @@ Index: backports-v4.18-rc7/net/mac80211/main.c
u32 offchannel_flag;
offchannel_flag = local->hw.conf.flags & IEEE80211_CONF_OFFCHANNEL;
-@@ -150,6 +150,12 @@ static u32 ieee80211_hw_conf_chan(struct
+@@ -151,6 +151,12 @@ static u32 ieee80211_hw_conf_chan(struct
}
rcu_read_unlock();
@@ -131,7 +119,7 @@ Index: backports-v4.18-rc7/net/mac80211/main.c
if (local->hw.conf.power_level != power) {
changed |= IEEE80211_CONF_CHANGE_POWER;
local->hw.conf.power_level = power;
-@@ -611,6 +617,7 @@ struct ieee80211_hw *ieee80211_alloc_hw_
+@@ -626,6 +632,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;
@@ -139,19 +127,17 @@ Index: backports-v4.18-rc7/net/mac80211/main.c
local->hw.uapsd_queues = IEEE80211_DEFAULT_UAPSD_QUEUES;
local->hw.uapsd_max_sp_len = IEEE80211_DEFAULT_MAX_SP_LEN;
local->user_power_level = IEEE80211_UNSET_POWER_LEVEL;
-Index: backports-v4.18-rc7/net/wireless/nl80211.c
-===================================================================
---- backports-v4.18-rc7.orig/net/wireless/nl80211.c
-+++ backports-v4.18-rc7/net/wireless/nl80211.c
-@@ -428,6 +428,7 @@ static const struct nla_policy nl80211_p
- [NL80211_ATTR_TXQ_LIMIT] = { .type = NLA_U32 },
- [NL80211_ATTR_TXQ_MEMORY_LIMIT] = { .type = NLA_U32 },
+--- a/net/wireless/nl80211.c
++++ b/net/wireless/nl80211.c
+@@ -430,6 +430,7 @@ static const struct nla_policy nl80211_p
[NL80211_ATTR_TXQ_QUANTUM] = { .type = NLA_U32 },
+ [NL80211_ATTR_HE_CAPABILITY] = { .type = NLA_BINARY,
+ .len = NL80211_HE_MAX_CAPABILITY_LEN },
+ [NL80211_ATTR_WIPHY_ANTENNA_GAIN] = { .type = NLA_U32 },
};
/* policy for the key attributes */
-@@ -2531,6 +2532,20 @@ static int nl80211_set_wiphy(struct sk_b
+@@ -2587,6 +2588,20 @@ static int nl80211_set_wiphy(struct sk_b
if (result)
return result;
}