aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2020-12-01 00:10:23 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2020-12-16 22:11:19 +0100
commit6cdc21b20e1125ece20eb871ff16d296a5e66688 (patch)
treece813abac6b953fe719284d9b2cbf1fb80637b78 /package/kernel/mac80211
parentc9c7cdbbb7cb927586914be7cea9f7234e9f363b (diff)
downloadupstream-6cdc21b20e1125ece20eb871ff16d296a5e66688.tar.gz
upstream-6cdc21b20e1125ece20eb871ff16d296a5e66688.tar.bz2
upstream-6cdc21b20e1125ece20eb871ff16d296a5e66688.zip
mac80211: Update to version 5.8.18-1
The removed patches were applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211')
-rw-r--r--package/kernel/mac80211/Makefile8
-rw-r--r--package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch4
-rw-r--r--package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch2
-rw-r--r--package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch2
-rw-r--r--package/kernel/mac80211/patches/brcm/998-survey.patch8
-rw-r--r--package/kernel/mac80211/patches/build/050-lib80211_option.patch3
-rw-r--r--package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/210-ap_scan.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch14
-rw-r--r--package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch116
-rw-r--r--package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch6
-rw-r--r--package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch6
-rw-r--r--package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch6
-rw-r--r--package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch2
-rw-r--r--package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch34
-rw-r--r--package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch31
-rw-r--r--package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch6
19 files changed, 38 insertions, 218 deletions
diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index 8448350acf..396b9c4bb8 100644
--- a/package/kernel/mac80211/Makefile
+++ b/package/kernel/mac80211/Makefile
@@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=mac80211
-PKG_VERSION:=5.8-1
-PKG_RELEASE:=2
-PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.8/
-PKG_HASH:=19b4174d89bf11ee221458e11f1e8dace26558498774b823051156f522d2036b
+PKG_VERSION:=5.8.18-1
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.8.18/
+PKG_HASH:=f04a8172423c6a945fc7d9844b04f33fda9ae574e552f8f18ee3bdfcfb494563
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 89e26af763..020e2bbab5 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
-@@ -3042,6 +3042,8 @@ void regulatory_hint_country_ie(struct w
+@@ -3045,6 +3045,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;
-@@ -3293,6 +3295,7 @@ static bool is_wiphy_all_set_reg_flag(en
+@@ -3296,6 +3298,7 @@ static bool is_wiphy_all_set_reg_flag(en
void regulatory_hint_disconnect(void)
{
diff --git a/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch b/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch
index 069aab8249..4e79111377 100644
--- a/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch
+++ b/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch
@@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -712,8 +712,36 @@ static struct wireless_dev *brcmf_cfg802
+@@ -714,8 +714,36 @@ static struct wireless_dev *brcmf_cfg802
struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
struct brcmf_pub *drvr = cfg->pub;
struct wireless_dev *wdev;
diff --git a/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch b/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch
index 8a20ae133a..91bf464ede 100644
--- a/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch
+++ b/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -2953,6 +2953,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip
+@@ -2955,6 +2955,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip
* preference in cfg struct to apply this to
* FW later while initializing the dongle
*/
diff --git a/package/kernel/mac80211/patches/brcm/998-survey.patch b/package/kernel/mac80211/patches/brcm/998-survey.patch
index bcab2e3f3c..7feca97e9f 100644
--- a/package/kernel/mac80211/patches/brcm/998-survey.patch
+++ b/package/kernel/mac80211/patches/brcm/998-survey.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -2905,6 +2905,63 @@ done:
+@@ -2907,6 +2907,63 @@ done:
}
static int
@@ -64,7 +64,7 @@
brcmf_cfg80211_dump_station(struct wiphy *wiphy, struct net_device *ndev,
int idx, u8 *mac, struct station_info *sinfo)
{
-@@ -2994,6 +3051,7 @@ static s32 brcmf_inform_single_bss(struc
+@@ -3002,6 +3059,7 @@ static s32 brcmf_inform_single_bss(struc
struct brcmu_chan ch;
u16 channel;
u32 freq;
@@ -72,7 +72,7 @@
u16 notify_capability;
u16 notify_interval;
u8 *notify_ie;
-@@ -3018,6 +3076,17 @@ static s32 brcmf_inform_single_bss(struc
+@@ -3026,6 +3084,17 @@ static s32 brcmf_inform_single_bss(struc
band = NL80211_BAND_5GHZ;
freq = ieee80211_channel_to_frequency(channel, band);
@@ -90,7 +90,7 @@
bss_data.chan = ieee80211_get_channel(wiphy, freq);
bss_data.scan_width = NL80211_BSS_CHAN_WIDTH_20;
bss_data.boottime_ns = ktime_to_ns(ktime_get_boottime());
-@@ -5470,6 +5539,7 @@ static struct cfg80211_ops brcmf_cfg8021
+@@ -5478,6 +5547,7 @@ static struct cfg80211_ops brcmf_cfg8021
.leave_ibss = brcmf_cfg80211_leave_ibss,
.get_station = brcmf_cfg80211_get_station,
.dump_station = brcmf_cfg80211_dump_station,
diff --git a/package/kernel/mac80211/patches/build/050-lib80211_option.patch b/package/kernel/mac80211/patches/build/050-lib80211_option.patch
index c6174449c6..b2465b0d7e 100644
--- a/package/kernel/mac80211/patches/build/050-lib80211_option.patch
+++ b/package/kernel/mac80211/patches/build/050-lib80211_option.patch
@@ -9,7 +9,7 @@
depends on m
default n
help
-@@ -197,18 +197,18 @@ config LIB80211
+@@ -197,19 +197,19 @@ config LIB80211
Drivers should select this themselves if needed.
config LIB80211_CRYPT_WEP
@@ -22,6 +22,7 @@
- tristate
+ tristate "lib80211 CCMP support"
depends on m
+ depends on CRYPTO
depends on CRYPTO_AES
depends on CRYPTO_CCM
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 e56055caff..2333ca2dad 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
-@@ -1197,7 +1197,6 @@ static int ieee80211_stop_ap(struct wiph
+@@ -1198,7 +1198,6 @@ static int ieee80211_stop_ap(struct wiph
sdata->vif.bss_conf.ftmr_params = NULL;
__sta_info_flush(sdata, true);
diff --git a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch
index 8ccab8cf66..fccb1ebffa 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
-@@ -2345,7 +2345,7 @@ static int ieee80211_scan(struct wiphy *
+@@ -2346,7 +2346,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/300-mac80211-optimize-skb-resizing.patch b/package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch
index bcdfa22fff..cb70670e52 100644
--- a/package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch
+++ b/package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch
@@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata,
--- a/net/mac80211/status.c
+++ b/net/mac80211/status.c
-@@ -843,6 +843,11 @@ void ieee80211_tx_monitor(struct ieee802
+@@ -846,6 +846,11 @@ void ieee80211_tx_monitor(struct ieee802
struct net_device *prev_dev = NULL;
int rtap_len;
diff --git a/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch b/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch
index 1bcb41461e..802d57497c 100644
--- a/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch
+++ b/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch
@@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct ieee80211_sub_if_data *sdata;
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -2578,8 +2578,8 @@ static void ieee80211_deliver_skb_to_loc
+@@ -2579,8 +2579,8 @@ static void ieee80211_deliver_skb_to_loc
memset(skb->cb, 0, sizeof(skb->cb));
/* deliver to local stack */
@@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
else
netif_receive_skb(skb);
}
-@@ -3869,7 +3869,6 @@ void ieee80211_release_reorder_timeout(s
+@@ -3870,7 +3870,6 @@ void ieee80211_release_reorder_timeout(s
/* This is OK -- must be QoS data frame */
.security_idx = tid,
.seqno_idx = tid,
@@ -77,7 +77,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
};
struct tid_ampdu_rx *tid_agg_rx;
-@@ -4479,8 +4478,8 @@ static bool ieee80211_invoke_fast_rx(str
+@@ -4480,8 +4479,8 @@ static bool ieee80211_invoke_fast_rx(str
/* deliver to local stack */
skb->protocol = eth_type_trans(skb, fast_rx->dev);
memset(skb->cb, 0, sizeof(skb->cb));
@@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
else
netif_receive_skb(skb);
-@@ -4547,7 +4546,7 @@ static bool ieee80211_prepare_and_rx_han
+@@ -4548,7 +4547,7 @@ static bool ieee80211_prepare_and_rx_han
static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
struct ieee80211_sta *pubsta,
struct sk_buff *skb,
@@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
{
struct ieee80211_local *local = hw_to_local(hw);
struct ieee80211_sub_if_data *sdata;
-@@ -4562,7 +4561,7 @@ static void __ieee80211_rx_handle_packet
+@@ -4563,7 +4562,7 @@ static void __ieee80211_rx_handle_packet
memset(&rx, 0, sizeof(rx));
rx.skb = skb;
rx.local = local;
@@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (ieee80211_is_data(fc) || ieee80211_is_mgmt(fc))
I802_DEBUG_INC(local->dot11ReceivedFragmentCount);
-@@ -4670,8 +4669,8 @@ static void __ieee80211_rx_handle_packet
+@@ -4671,8 +4670,8 @@ static void __ieee80211_rx_handle_packet
* This is the receive path handler. It is called by a low level driver when an
* 802.11 MPDU is received from the hardware.
*/
@@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
{
struct ieee80211_local *local = hw_to_local(hw);
struct ieee80211_rate *rate = NULL;
-@@ -4763,36 +4762,53 @@ void ieee80211_rx_napi(struct ieee80211_
+@@ -4764,36 +4763,53 @@ void ieee80211_rx_napi(struct ieee80211_
status->rx_flags = 0;
/*
diff --git a/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch b/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch
deleted file mode 100644
index 62f2419dd3..0000000000
--- a/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 8 Aug 2020 19:20:02 +0200
-Subject: [PATCH] mac80211: reduce packet loss event false positives
-
-When running a large number of packets per second with a high data rate
-and long A-MPDUs, the packet loss threshold can be reached very quickly
-when the link conditions change. This frequently shows up as spurious
-disconnects.
-Mitigate false positives by using a similar logic for regular stations
-as the one being used for TDLS, though with a more aggressive timeout.
-Packet loss events are only reported if no ACK was received for a second.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/sta_info.h
-+++ b/net/mac80211/sta_info.h
-@@ -522,7 +522,7 @@ struct ieee80211_sta_rx_stats {
- * @status_stats.retry_failed: # of frames that failed after retry
- * @status_stats.retry_count: # of retries attempted
- * @status_stats.lost_packets: # of lost packets
-- * @status_stats.last_tdls_pkt_time: timestamp of last TDLS packet
-+ * @status_stats.last_pkt_time: timestamp of last ACKed packet
- * @status_stats.msdu_retries: # of MSDU retries
- * @status_stats.msdu_failed: # of failed MSDUs
- * @status_stats.last_ack: last ack timestamp (jiffies)
-@@ -595,7 +595,7 @@ struct sta_info {
- unsigned long filtered;
- unsigned long retry_failed, retry_count;
- unsigned int lost_packets;
-- unsigned long last_tdls_pkt_time;
-+ unsigned long last_pkt_time;
- u64 msdu_retries[IEEE80211_NUM_TIDS + 1];
- u64 msdu_failed[IEEE80211_NUM_TIDS + 1];
- unsigned long last_ack;
---- a/net/mac80211/status.c
-+++ b/net/mac80211/status.c
-@@ -757,12 +757,16 @@ static void ieee80211_report_used_skb(st
- * - current throughput (higher value for higher tpt)?
- */
- #define STA_LOST_PKT_THRESHOLD 50
-+#define STA_LOST_PKT_TIME HZ /* 1 sec since last ACK */
- #define STA_LOST_TDLS_PKT_THRESHOLD 10
- #define STA_LOST_TDLS_PKT_TIME (10*HZ) /* 10secs since last ACK */
-
- static void ieee80211_lost_packet(struct sta_info *sta,
- struct ieee80211_tx_info *info)
- {
-+ unsigned long pkt_time = STA_LOST_PKT_TIME;
-+ unsigned int pkt_thr = STA_LOST_PKT_THRESHOLD;
-+
- /* If driver relies on its own algorithm for station kickout, skip
- * mac80211 packet loss mechanism.
- */
-@@ -775,21 +779,20 @@ static void ieee80211_lost_packet(struct
- return;
-
- sta->status_stats.lost_packets++;
-- if (!sta->sta.tdls &&
-- sta->status_stats.lost_packets < STA_LOST_PKT_THRESHOLD)
-- return;
-+ if (sta->sta.tdls) {
-+ pkt_time = STA_LOST_TDLS_PKT_TIME;
-+ pkt_thr = STA_LOST_PKT_THRESHOLD;
-+ }
-
- /*
- * If we're in TDLS mode, make sure that all STA_LOST_TDLS_PKT_THRESHOLD
- * of the last packets were lost, and that no ACK was received in the
- * last STA_LOST_TDLS_PKT_TIME ms, before triggering the CQM packet-loss
- * mechanism.
-+ * For non-TDLS, use STA_LOST_PKT_THRESHOLD and STA_LOST_PKT_TIME
- */
-- if (sta->sta.tdls &&
-- (sta->status_stats.lost_packets < STA_LOST_TDLS_PKT_THRESHOLD ||
-- time_before(jiffies,
-- sta->status_stats.last_tdls_pkt_time +
-- STA_LOST_TDLS_PKT_TIME)))
-+ if (sta->status_stats.lost_packets < pkt_thr ||
-+ !time_after(jiffies, sta->status_stats.last_pkt_time + pkt_time))
- return;
-
- cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr,
-@@ -1042,9 +1045,7 @@ static void __ieee80211_tx_status(struct
- sta->status_stats.lost_packets = 0;
-
- /* Track when last TDLS packet was ACKed */
-- if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
-- sta->status_stats.last_tdls_pkt_time =
-- jiffies;
-+ sta->status_stats.last_pkt_time = jiffies;
- } else if (noack_success) {
- /* nothing to do here, do not account as lost */
- } else {
-@@ -1177,9 +1178,8 @@ void ieee80211_tx_status_ext(struct ieee
- if (sta->status_stats.lost_packets)
- sta->status_stats.lost_packets = 0;
-
-- /* Track when last TDLS packet was ACKed */
-- if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
-- sta->status_stats.last_tdls_pkt_time = jiffies;
-+ /* Track when last packet was ACKed */
-+ sta->status_stats.last_pkt_time = jiffies;
- } else if (test_sta_flag(sta, WLAN_STA_PS_STA)) {
- return;
- } else if (noack_success) {
-@@ -1268,8 +1268,7 @@ void ieee80211_tx_status_8023(struct iee
- if (sta->status_stats.lost_packets)
- sta->status_stats.lost_packets = 0;
-
-- if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
-- sta->status_stats.last_tdls_pkt_time = jiffies;
-+ sta->status_stats.last_pkt_time = jiffies;
- } else {
- ieee80211_lost_packet(sta, info);
- }
diff --git a/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch b/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch
index 7f7c75db59..a5df07e58d 100644
--- a/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch
+++ b/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch
@@ -55,12 +55,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
+ agg_shift = 3;
+ else
+ agg_shift = 4;
-
-- return airtime;
++
+ duration *= len;
+ duration /= AVG_PKT_SIZE;
+ duration /= 1024;
-+
+
+- return airtime;
+ return duration + (overhead >> agg_shift);
}
diff --git a/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch b/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch
index 8b664d6895..e13723b160 100644
--- a/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch
+++ b/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch
@@ -67,12 +67,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
if (!acked && !noack_success)
- sta->status_stats.retry_failed++;
- sta->status_stats.retry_count += retry_count;
--
++ sta->status_stats.msdu_failed[tid]++;
+
- if (ieee80211_is_data_present(fc)) {
- if (!acked && !noack_success)
- sta->status_stats.msdu_failed[tid]++;
-+ sta->status_stats.msdu_failed[tid]++;
-
+-
- sta->status_stats.msdu_retries[tid] +=
- retry_count;
- }
diff --git a/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch b/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch
index ed9efb2b0d..f8287c53a7 100644
--- a/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch
+++ b/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -1811,9 +1811,6 @@ ieee80211_rx_h_sta_process(struct ieee80
+@@ -1812,9 +1812,6 @@ ieee80211_rx_h_sta_process(struct ieee80
sta->rx_stats.last_rate = sta_stats_encode_rate(status);
}
@@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
sta->rx_stats.fragments++;
u64_stats_update_begin(&rx->sta->rx_stats.syncp);
-@@ -4148,7 +4145,6 @@ void ieee80211_check_fast_rx(struct sta_
+@@ -4149,7 +4146,6 @@ void ieee80211_check_fast_rx(struct sta_
fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr2);
fastrx.expected_ds_bits = 0;
} else {
@@ -130,7 +130,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
fastrx.da_offs = offsetof(struct ieee80211_hdr, addr1);
fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr3);
fastrx.expected_ds_bits =
-@@ -4378,11 +4374,6 @@ static bool ieee80211_invoke_fast_rx(str
+@@ -4379,11 +4375,6 @@ static bool ieee80211_invoke_fast_rx(str
pskb_trim(skb, skb->len - fast_rx->icv_len))
goto drop;
diff --git a/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch b/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch
index b9069ef9b8..8505ce56f6 100644
--- a/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch
+++ b/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch
@@ -129,7 +129,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
}
--- a/net/mac80211/rx.c
+++ b/net/mac80211/rx.c
-@@ -2896,7 +2896,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
+@@ -2897,7 +2897,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
fwd_hdr->frame_control &= ~cpu_to_le16(IEEE80211_FCTL_RETRY);
info = IEEE80211_SKB_CB(fwd_skb);
memset(info, 0, sizeof(*info));
diff --git a/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch b/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch
index 5ad5ac6a78..aa166c6431 100644
--- a/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch
+++ b/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
/**
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -1693,6 +1693,7 @@ static int ieee80211_change_station(stru
+@@ -1694,6 +1694,7 @@ static int ieee80211_change_station(stru
rcu_assign_pointer(vlansdata->u.vlan.sta, sta);
__ieee80211_check_fast_rx_iface(vlansdata);
diff --git a/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch b/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch
deleted file mode 100644
index a799d96250..0000000000
--- a/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Thu, 17 Sep 2020 12:07:19 +0200
-Subject: [PATCH] mac80211: do not allow bigger VHT MPDUs than the hardware
- supports
-
-Limit maximum VHT MPDU size by local capability
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/vht.c
-+++ b/net/mac80211/vht.c
-@@ -168,10 +168,7 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
- /* take some capabilities as-is */
- cap_info = le32_to_cpu(vht_cap_ie->vht_cap_info);
- vht_cap->cap = cap_info;
-- vht_cap->cap &= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 |
-- IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
-- IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 |
-- IEEE80211_VHT_CAP_RXLDPC |
-+ vht_cap->cap &= IEEE80211_VHT_CAP_RXLDPC |
- IEEE80211_VHT_CAP_VHT_TXOP_PS |
- IEEE80211_VHT_CAP_HTC_VHT |
- IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK |
-@@ -180,6 +177,9 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
- IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN |
- IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN;
-
-+ vht_cap->cap |= min_t(u32, cap_info & IEEE80211_VHT_CAP_MAX_MPDU_MASK,
-+ own_cap.cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK);
-+
- /* and some based on our own capabilities */
- switch (own_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) {
- case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ:
diff --git a/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch b/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch
deleted file mode 100644
index 38144013f0..0000000000
--- a/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5981fe5b0529ba25d95f37d7faa434183ad618c5 Mon Sep 17 00:00:00 2001
-From: Johannes Berg <johannes.berg@intel.com>
-Date: Mon, 3 Aug 2020 11:02:10 +0200
-Subject: [PATCH] mac80211: fix misplaced while instead of if
-
-This never was intended to be a 'while' loop, it should've
-just been an 'if' instead of 'while'. Fix this.
-
-I noticed this while applying another patch from Ben that
-intended to fix a busy loop at this spot.
-
-Cc: stable@vger.kernel.org
-Fixes: b16798f5b907 ("mac80211: mark station unauthorized before key removal")
-Reported-by: Ben Greear <greearb@candelatech.com>
-Link: https://lore.kernel.org/r/20200803110209.253009ae41ff.I3522aad099392b31d5cf2dcca34cbac7e5832dde@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
----
- net/mac80211/sta_info.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/net/mac80211/sta_info.c
-+++ b/net/mac80211/sta_info.c
-@@ -1051,7 +1051,7 @@ static void __sta_info_destroy_part2(str
- might_sleep();
- lockdep_assert_held(&local->sta_mtx);
-
-- while (sta->sta_state == IEEE80211_STA_AUTHORIZED) {
-+ if (sta->sta_state == IEEE80211_STA_AUTHORIZED) {
- ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC);
- WARN_ON_ONCE(ret);
- }
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 8db3a758a1..6abf3a1261 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
@@ -57,7 +57,7 @@
__NL80211_ATTR_AFTER_LAST,
--- a/net/mac80211/cfg.c
+++ b/net/mac80211/cfg.c
-@@ -2611,6 +2611,19 @@ static int ieee80211_get_tx_power(struct
+@@ -2612,6 +2612,19 @@ static int ieee80211_get_tx_power(struct
return 0;
}
@@ -77,7 +77,7 @@
static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
const u8 *addr)
{
-@@ -4041,6 +4054,7 @@ const struct cfg80211_ops mac80211_confi
+@@ -4042,6 +4055,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,
@@ -137,7 +137,7 @@
};
/* policy for the key attributes */
-@@ -3136,6 +3137,20 @@ static int nl80211_set_wiphy(struct sk_b
+@@ -3139,6 +3140,20 @@ static int nl80211_set_wiphy(struct sk_b
if (result)
return result;
}