[RFC PATCH 1/4] mac80211: Update to version 5.8.18-test2

Hauke Mehrtens hauke at hauke-m.de
Tue Dec 1 17:19:47 EST 2020


The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 package/kernel/mac80211/Makefile              |   8 +-
 .../patches/ath/404-regd_no_assoc_hints.patch |   4 +-
 ...und-bug-with-some-inconsistent-BSSes.patch |   2 +-
 ...62-brcmfmac-Disable-power-management.patch |   2 +-
 .../mac80211/patches/brcm/998-survey.patch    |   8 +-
 .../patches/build/050-lib80211_option.patch   |   3 +-
 .../110-mac80211_keep_keys_on_stop_ap.patch   |   2 +-
 .../mac80211/patches/subsys/210-ap_scan.patch |   2 +-
 .../300-mac80211-optimize-skb-resizing.patch  |   2 +-
 ...unction-for-running-rx-without-passi.patch |  14 +--
 ...ce-packet-loss-event-false-positives.patch | 116 ------------------
 ...-AQL-aggregation-estimation-for-low-.patch |   6 +-
 ...e-duplication-in-tx-status-functions.patch |   6 +-
 ...-optimize-station-connection-monitor.patch |   6 +-
 ...ED_TXPROCESSING-and-HW_80211_ENCAP-t.patch |   2 +-
 ...the-driver-when-a-sta-uses-4-address.patch |   2 +-
 ...allow-bigger-VHT-MPDUs-than-the-hard.patch |  34 -----
 ...11-fix-misplaced-while-instead-of-if.patch |  31 -----
 .../500-mac80211_configure_antenna_gain.patch |   6 +-
 19 files changed, 38 insertions(+), 218 deletions(-)
 delete mode 100644 package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch
 delete mode 100644 package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch
 delete mode 100644 package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch

diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index 8448350acf5e..e0d2e4087883 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-test2
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=https://hauke-m.de/files/backports-test/
+PKG_HASH:=8bbb49a25b7138eae3a3557915264b0cb6ccc81bdfbc663f707f242e03fdf5a7
 
 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 89e26af763f3..020e2bbab51b 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 069aab82497c..4e79111377fc 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 at 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 8a20ae133a96..91bf464ede55 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 at 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 bcab2e3f3ce7..7feca97e9fed 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 c6174449c662..b2465b0d7e19 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 e56055caff7e..2333ca2dad0e 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 8ccab8cf66cf..fccb1ebffabf 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 bcdfa22fffd4..cb70670e5288 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 at 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 1bcb41461efa..802d57497cc9 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 at 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 at 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 at 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 at 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 at 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 at 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 at 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 62f2419dd34c..000000000000
--- 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 at 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 at 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 7f7c75db59f4..a5df07e58d60 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 at 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 8b664d6895a6..e13723b160ec 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 at 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 ed9efb2b0d4d..f8287c53a7ac 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 at 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 at 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 at 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 b9069ef9b8ce..8505ce56f690 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 at 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 5ad5ac6a783f..aa166c6431a2 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 at 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 a799d9625083..000000000000
--- 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 at 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 at 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 38144013f00a..000000000000
--- 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 at 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 at vger.kernel.org
-Fixes: b16798f5b907 ("mac80211: mark station unauthorized before key removal")
-Reported-by: Ben Greear <greearb at candelatech.com>
-Link: https://lore.kernel.org/r/20200803110209.253009ae41ff.I3522aad099392b31d5cf2dcca34cbac7e5832dde@changeid
-Signed-off-by: Johannes Berg <johannes.berg at 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 8db3a758a1b3..6abf3a126188 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;
  	}
-- 
2.20.1




More information about the openwrt-devel mailing list