[openwrt/openwrt] mac80211: Refresh patches again

LEDE Commits lede-commits at lists.infradead.org
Mon Feb 15 16:42:16 EST 2021


hauke pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/0cde9a0a6527b7ad97a72cb0641566c307c861a4

commit 0cde9a0a6527b7ad97a72cb0641566c307c861a4
Author: Hauke Mehrtens <hauke at hauke-m.de>
AuthorDate: Mon Feb 15 22:23:17 2021 +0100

    mac80211: Refresh patches again
    
    A wrong quilt configuration was used last time.
    
    Fixes: ed1e234d87fc ("mac80211: refresh patches")
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 .../patches/ath/080-ath10k_thermal_config.patch    |  2 +-
 ...ath9k_hw-issue-external-reset-for-QCA955x.patch | 51 ++++++++-------
 .../patches/ath/402-ath_regd_optional.patch        |  2 +-
 .../patches/ath/530-ath9k_extra_leds.patch         | 12 ++--
 .../patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch  |  2 +-
 ...-controlling-support-for-various-chipsets.patch |  2 +-
 .../rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch |  2 +-
 ...t7620-differentiate-based-on-SoC-CHIP_VER.patch | 75 ++++++++++++----------
 ...x00-save-survey-for-every-channel-visited.patch | 14 ++--
 .../subsys/100-remove-cryptoapi-dependencies.patch | 10 +--
 ...-do-not-maintain-a-backlog-sorted-list-of.patch | 31 +++++----
 ...x-encryption-key-selection-for-802.3-xmit.patch |  9 +--
 ...nstrel_ht-improve-ampdu-length-estimation.patch |  6 +-
 ...nstrel_ht-significantly-redesign-the-rate.patch | 16 ++---
 14 files changed, 124 insertions(+), 110 deletions(-)

diff --git a/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch b/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch
index 55d48daa79..de6f9d9bb0 100644
--- a/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch
+++ b/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch
@@ -37,7 +37,7 @@
  void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature);
 --- a/local-symbols
 +++ b/local-symbols
-@@ -143,6 +143,7 @@ ATH10K_SNOC=
+@@ -142,6 +142,7 @@ ATH10K_SNOC=
  ATH10K_DEBUG=
  ATH10K_DEBUGFS=
  ATH10K_SPECTRAL=
diff --git a/package/kernel/mac80211/patches/ath/351-ath9k_hw-issue-external-reset-for-QCA955x.patch b/package/kernel/mac80211/patches/ath/351-ath9k_hw-issue-external-reset-for-QCA955x.patch
index d3248f958b..5f265b84c2 100644
--- a/package/kernel/mac80211/patches/ath/351-ath9k_hw-issue-external-reset-for-QCA955x.patch
+++ b/package/kernel/mac80211/patches/ath/351-ath9k_hw-issue-external-reset-for-QCA955x.patch
@@ -29,6 +29,21 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -		npend = ath9k_hw_numtxpending(ah, i);
 -		if (npend)
 -			break;
+-	}
+-
+-	if (ah->external_reset &&
+-	    (npend || type == ATH9K_RESET_COLD)) {
+-		int reset_err = 0;
+-
+-		ath_dbg(ath9k_hw_common(ah), RESET,
+-			"reset MAC via external reset\n");
+-
+-		reset_err = ah->external_reset();
+-		if (reset_err) {
+-			ath_err(ath9k_hw_common(ah),
+-				"External reset failed, err=%d\n",
+-				reset_err);
+-			return false;
 +	if (type == ATH9K_RESET_COLD)
 +		return true;
 +
@@ -44,47 +59,35 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 +		for (i = 0; i < AR_NUM_QCU; i++) {
 +			if (ath9k_hw_numtxpending(ah, i))
 +				return true;
-+		}
- 	}
- 
--	if (ah->external_reset &&
--	    (npend || type == ATH9K_RESET_COLD)) {
--		int reset_err = 0;
+ 		}
++	}
++
 +	return false;
 +}
- 
--		ath_dbg(ath9k_hw_common(ah), RESET,
--			"reset MAC via external reset\n");
++
 +static bool ath9k_hw_external_reset(struct ath_hw *ah, int type)
 +{
 +	int err;
- 
--		reset_err = ah->external_reset();
--		if (reset_err) {
--			ath_err(ath9k_hw_common(ah),
--				"External reset failed, err=%d\n",
--				reset_err);
--			return false;
--		}
++
 +	if (!ah->external_reset || !ath9k_hw_need_external_reset(ah, type))
 +		return true;
- 
--		REG_WRITE(ah, AR_RTC_RESET, 1);
++
 +	ath_dbg(ath9k_hw_common(ah), RESET,
 +		"reset MAC via external reset\n");
-+
+ 
+-		REG_WRITE(ah, AR_RTC_RESET, 1);
 +	err = ah->external_reset();
 +	if (err) {
 +		ath_err(ath9k_hw_common(ah),
 +			"External reset failed, err=%d\n", err);
 +		return false;
-+	}
-+
+ 	}
+ 
 +	if (AR_SREV_9550(ah)) {
 +		REG_WRITE(ah, AR_RTC_RESET, 0);
 +		udelay(10);
- 	}
- 
++	}
++
 +	REG_WRITE(ah, AR_RTC_RESET, 1);
 +	udelay(10);
 +
diff --git a/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch b/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch
index 3c9180b113..bf87d3551a 100644
--- a/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch
+++ b/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch
@@ -82,7 +82,7 @@
  	help
 --- a/local-symbols
 +++ b/local-symbols
-@@ -86,6 +86,7 @@ ADM8211=
+@@ -85,6 +85,7 @@ ADM8211=
  ATH_COMMON=
  WLAN_VENDOR_ATH=
  ATH_DEBUG=
diff --git a/package/kernel/mac80211/patches/ath/530-ath9k_extra_leds.patch b/package/kernel/mac80211/patches/ath/530-ath9k_extra_leds.patch
index 30b6bdc78e..1f19483064 100644
--- a/package/kernel/mac80211/patches/ath/530-ath9k_extra_leds.patch
+++ b/package/kernel/mac80211/patches/ath/530-ath9k_extra_leds.patch
@@ -103,8 +103,7 @@
 +		      GFP_KERNEL);
 +	if (!led)
 +		return -ENOMEM;
- 
--	ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, val);
++
 +	led->gpio = gpio = (struct gpio_led *) (led + 1);
 +	_name = (char *) (led->gpio + 1);
 +
@@ -117,7 +116,8 @@
 +	ret = ath_add_led(sc, led);
 +	if (unlikely(ret < 0))
 +		kfree(led);
-+
+ 
+-	ath9k_hw_set_gpio(sc->sc_ah, sc->sc_ah->led_pin, val);
 +	return ret;
  }
  
@@ -125,11 +125,11 @@
  {
 -	if (!sc->led_registered)
 -		return;
--
--	ath_led_brightness(&sc->led_cdev, LED_OFF);
--	led_classdev_unregister(&sc->led_cdev);
 +	struct ath_led *led;
  
+-	ath_led_brightness(&sc->led_cdev, LED_OFF);
+-	led_classdev_unregister(&sc->led_cdev);
+-
 -	ath9k_hw_gpio_free(sc->sc_ah, sc->sc_ah->led_pin);
 +	while (!list_empty(&sc->leds)) {
 +		led = list_first_entry(&sc->leds, struct ath_led, list);
diff --git a/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch b/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch
index 96187be3d5..7e3e1236f7 100644
--- a/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch
+++ b/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch
@@ -371,7 +371,7 @@
  
 --- a/local-symbols
 +++ b/local-symbols
-@@ -113,6 +113,7 @@ ATH9K_WOW=
+@@ -112,6 +112,7 @@ ATH9K_WOW=
  ATH9K_RFKILL=
  ATH9K_CHANNEL_CONTEXT=
  ATH9K_PCOEM=
diff --git a/package/kernel/mac80211/patches/ath/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/mac80211/patches/ath/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
index 511cf59222..403d1e5035 100644
--- a/package/kernel/mac80211/patches/ath/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
+++ b/package/kernel/mac80211/patches/ath/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
@@ -114,7 +114,7 @@ v13:
  ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o
 --- a/local-symbols
 +++ b/local-symbols
-@@ -146,6 +146,7 @@ ATH10K_DEBUG=
+@@ -145,6 +145,7 @@ ATH10K_DEBUG=
  ATH10K_DEBUGFS=
  ATH10K_SPECTRAL=
  ATH10K_THERMAL=
diff --git a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch
index 1c52132da6..e74d9a9aa0 100644
--- a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch
+++ b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch
@@ -1,6 +1,6 @@
 --- a/local-symbols
 +++ b/local-symbols
-@@ -333,6 +333,7 @@ RT2X00_LIB_FIRMWARE=
+@@ -332,6 +332,7 @@ RT2X00_LIB_FIRMWARE=
  RT2X00_LIB_CRYPTO=
  RT2X00_LIB_LEDS=
  RT2X00_LIB_DEBUGFS=
diff --git a/package/kernel/mac80211/patches/rt2x00/991-rt2x00-mt7620-differentiate-based-on-SoC-CHIP_VER.patch b/package/kernel/mac80211/patches/rt2x00/991-rt2x00-mt7620-differentiate-based-on-SoC-CHIP_VER.patch
index c82258c2b6..3de00b2267 100644
--- a/package/kernel/mac80211/patches/rt2x00/991-rt2x00-mt7620-differentiate-based-on-SoC-CHIP_VER.patch
+++ b/package/kernel/mac80211/patches/rt2x00/991-rt2x00-mt7620-differentiate-based-on-SoC-CHIP_VER.patch
@@ -22,15 +22,16 @@
 -	rfcsr = rt2800_rfcsr_read(rt2x00dev, 16);
 -	rt2x00_set_field8(&rfcsr, RFCSR16_SDM_MODE_MT7620, 0x80);
 -	rt2800_rfcsr_write(rt2x00dev, 16, rfcsr);
+-
+-	rfcsr = rt2800_rfcsr_read(rt2x00dev, 21);
+-	rt2x00_set_field8(&rfcsr, RFCSR21_BIT8, 1);
+-	rt2800_rfcsr_write(rt2x00dev, 21, rfcsr);
 +	if (rt2800_hw_get_chipver(rt2x00dev) > 1) {
 +		/* Default: XO=20MHz , SDM mode */
 +		rfcsr = rt2800_rfcsr_read(rt2x00dev, 16);
 +		rt2x00_set_field8(&rfcsr, RFCSR16_SDM_MODE_MT7620, 0x80);
 +		rt2800_rfcsr_write(rt2x00dev, 16, rfcsr);
- 
--	rfcsr = rt2800_rfcsr_read(rt2x00dev, 21);
--	rt2x00_set_field8(&rfcsr, RFCSR21_BIT8, 1);
--	rt2800_rfcsr_write(rt2x00dev, 21, rfcsr);
++
 +		rfcsr = rt2800_rfcsr_read(rt2x00dev, 21);
 +		rt2x00_set_field8(&rfcsr, RFCSR21_BIT8, 1);
 +		rt2800_rfcsr_write(rt2x00dev, 21, rfcsr);
@@ -216,6 +217,10 @@
 -	rt2800_rfcsr_write(rt2x00dev, 28, 0x61);
 -	rt2800_rfcsr_write(rt2x00dev, 29, 0xB5);
 -	rt2800_rfcsr_write(rt2x00dev, 43, 0x02);
+-
+-	rt2800_rfcsr_write(rt2x00dev, 28, 0x62);
+-	rt2800_rfcsr_write(rt2x00dev, 29, 0xAD);
+-	rt2800_rfcsr_write(rt2x00dev, 39, 0x80);
 +	if (rt2800_hw_get_chipver(rt2x00dev) > 1) {
 +		rt2800_rfcsr_write(rt2x00dev, 11, 0x21);
 +		if (rt2800_clk_is_20mhz(rt2x00dev))
@@ -239,10 +244,7 @@
 +		rt2800_rfcsr_write(rt2x00dev, 29, 0xB5);
 +		rt2800_rfcsr_write(rt2x00dev, 43, 0x02);
 +	}
- 
--	rt2800_rfcsr_write(rt2x00dev, 28, 0x62);
--	rt2800_rfcsr_write(rt2x00dev, 29, 0xAD);
--	rt2800_rfcsr_write(rt2x00dev, 39, 0x80);
++
 +	if (rt2800_hw_get_chipver(rt2x00dev) > 1 &&
 +	    rt2800_hw_get_chipeco(rt2x00dev) >= 2) {
 +		rt2800_rfcsr_write(rt2x00dev, 28, 0x62);
@@ -286,6 +288,33 @@
 -	rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x6B);
 -	rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0xF7);
 -	rt2800_rfcsr_write_chanreg(rt2x00dev, 61, 0x09);
+-
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 10, 0x51);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x06);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 19, 0xA7);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 28, 0x2C);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x64);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 8, 0x51);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 9, 0x36);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 11, 0x53);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x16);
+-
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x6C);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 48, 0xFC);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 49, 0x1F);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 54, 0x27);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x66);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x6B);
+-
+-	/* Initialize RF channel register for DRQFN */
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0xD3);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0xE3);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0xE5);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x28);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x68);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 56, 0xF7);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 58, 0x02);
+-	rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0xC7);
 +	if (rt2800_hw_get_chipver(rt2x00dev) > 1) {
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 9, 0x47);
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 10, 0x71);
@@ -318,16 +347,7 @@
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0xF7);
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 61, 0x09);
 +	}
- 
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 10, 0x51);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x06);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 19, 0xA7);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 28, 0x2C);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x64);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 8, 0x51);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 9, 0x36);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 11, 0x53);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x16);
++
 +	if (rt2800_hw_get_chipver(rt2x00dev) > 1 &&
 +	    rt2800_hw_get_chipeco(rt2x00dev) >= 2) {
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 10, 0x51);
@@ -339,13 +359,7 @@
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 9, 0x36);
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 11, 0x53);
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 14, 0x16);
- 
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x6C);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 48, 0xFC);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 49, 0x1F);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 54, 0x27);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x66);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x6B);
++
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x6C);
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 48, 0xFC);
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 49, 0x1F);
@@ -353,16 +367,7 @@
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x66);
 +		rt2800_rfcsr_write_chanreg(rt2x00dev, 59, 0x6B);
 +	}
- 
--	/* Initialize RF channel register for DRQFN */
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 43, 0xD3);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 44, 0xE3);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 45, 0xE5);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 47, 0x28);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 55, 0x68);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 56, 0xF7);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 58, 0x02);
--	rt2800_rfcsr_write_chanreg(rt2x00dev, 60, 0xC7);
++
 +	if (rt2800_hw_get_chippkg(rt2x00dev) == 0 &&
 +	    rt2800_hw_get_chipver(rt2x00dev) == 1) {
 +		/* Initialize RF channel register for DRQFN */
diff --git a/package/kernel/mac80211/patches/rt2x00/992-rt2x00-save-survey-for-every-channel-visited.patch b/package/kernel/mac80211/patches/rt2x00/992-rt2x00-save-survey-for-every-channel-visited.patch
index 205c10b641..31a7baeee7 100644
--- a/package/kernel/mac80211/patches/rt2x00/992-rt2x00-save-survey-for-every-channel-visited.patch
+++ b/package/kernel/mac80211/patches/rt2x00/992-rt2x00-save-survey-for-every-channel-visited.patch
@@ -53,20 +53,22 @@
 -	idle = rt2800_register_read(rt2x00dev, CH_IDLE_STA);
 -	busy = rt2800_register_read(rt2x00dev, CH_BUSY_STA);
 -	busy_ext = rt2800_register_read(rt2x00dev, CH_BUSY_STA_SEC);
-+	survey->channel = &rt2x00dev->bands[band].channels[idx];
- 
+-
 -	if (idle || busy) {
 -		survey->filled = SURVEY_INFO_TIME |
 -				 SURVEY_INFO_TIME_BUSY |
 -				 SURVEY_INFO_TIME_EXT_BUSY;
-+	survey->filled = SURVEY_INFO_TIME |
-+			 SURVEY_INFO_TIME_BUSY |
-+			 SURVEY_INFO_TIME_EXT_BUSY;
- 
+-
 -		survey->time = (idle + busy) / 1000;
 -		survey->time_busy = busy / 1000;
 -		survey->time_ext_busy = busy_ext / 1000;
 -	}
++	survey->channel = &rt2x00dev->bands[band].channels[idx];
++
++	survey->filled = SURVEY_INFO_TIME |
++			 SURVEY_INFO_TIME_BUSY |
++			 SURVEY_INFO_TIME_EXT_BUSY;
++
 +	survey->time = div_u64(chan_survey->time_idle + chan_survey->time_busy, 1000);
 +	survey->time_busy = div_u64(chan_survey->time_busy, 1000);
 +	survey->time_ext_busy = div_u64(chan_survey->time_ext_busy, 1000);
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 ac78e62ccc..7b036e4e4c 100644
--- a/package/kernel/mac80211/patches/subsys/100-remove-cryptoapi-dependencies.patch
+++ b/package/kernel/mac80211/patches/subsys/100-remove-cryptoapi-dependencies.patch
@@ -166,7 +166,8 @@
  #define AES_CCM_H
  
 -#include "aead_api.h"
--
++#include <linux/crypto.h>
+ 
 -#define CCM_AAD_LEN	32
 -
 -static inline struct crypto_aead *
@@ -194,8 +195,7 @@
 -			    be16_to_cpup((__be16 *)aad),
 -			    data, data_len, mic);
 -}
-+#include <linux/crypto.h>
- 
+-
 -static inline void ieee80211_aes_key_free(struct crypto_aead *tfm)
 -{
 -	return aead_key_free(tfm);
@@ -331,10 +331,10 @@
  #define AES_GCM_H
  
 -#include "aead_api.h"
--
--#define GCM_AAD_LEN	32
 +#include <linux/crypto.h>
  
+-#define GCM_AAD_LEN	32
+-
 -static inline int ieee80211_aes_gcm_encrypt(struct crypto_aead *tfm,
 -					    u8 *j_0, u8 *aad,  u8 *data,
 -					    size_t data_len, u8 *mic)
diff --git a/package/kernel/mac80211/patches/subsys/312-net-fq_impl-do-not-maintain-a-backlog-sorted-list-of.patch b/package/kernel/mac80211/patches/subsys/312-net-fq_impl-do-not-maintain-a-backlog-sorted-list-of.patch
index 0e923991db..08e5cbb5b9 100644
--- a/package/kernel/mac80211/patches/subsys/312-net-fq_impl-do-not-maintain-a-backlog-sorted-list-of.patch
+++ b/package/kernel/mac80211/patches/subsys/312-net-fq_impl-do-not-maintain-a-backlog-sorted-list-of.patch
@@ -133,34 +133,37 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -static void fq_recalc_backlog(struct fq *fq,
 -			      struct fq_tin *tin,
 -			      struct fq_flow *flow)
-+static struct fq_flow *fq_find_fattest_flow(struct fq *fq)
- {
+-{
 -	struct fq_flow *i;
-+	struct fq_tin *tin;
-+	struct fq_flow *flow = NULL;
-+	u32 len = 0;
-+	int i;
- 
+-
 -	if (list_empty(&flow->backlogchain))
 -		list_add_tail(&flow->backlogchain, &fq->backlogs);
-+	for_each_set_bit(i, fq->flows_bitmap, fq->flows_cnt) {
-+		struct fq_flow *cur = &fq->flows[i];
-+		unsigned int cur_len;
- 
+-
 -	i = flow;
 -	list_for_each_entry_continue_reverse(i, &fq->backlogs,
 -					     backlogchain)
 -		if (i->backlog > flow->backlog)
 -			break;
++static struct fq_flow *fq_find_fattest_flow(struct fq *fq)
++{
++	struct fq_tin *tin;
++	struct fq_flow *flow = NULL;
++	u32 len = 0;
++	int i;
++
++	for_each_set_bit(i, fq->flows_bitmap, fq->flows_cnt) {
++		struct fq_flow *cur = &fq->flows[i];
++		unsigned int cur_len;
++
 +		cur_len = cur->backlog;
 +		if (cur_len <= len)
 +			continue;
- 
--	list_move(&flow->backlogchain, &i->backlogchain);
++
 +		flow = cur;
 +		len = cur_len;
 +	}
-+
+ 
+-	list_move(&flow->backlogchain, &i->backlogchain);
 +	list_for_each_entry(tin, &fq->tin_backlog, tin_list) {
 +		unsigned int cur_len = tin->default_flow.backlog;
 +
diff --git a/package/kernel/mac80211/patches/subsys/313-mac80211-fix-encryption-key-selection-for-802.3-xmit.patch b/package/kernel/mac80211/patches/subsys/313-mac80211-fix-encryption-key-selection-for-802.3-xmit.patch
index 5ae9ca8b93..9c9be2927a 100644
--- a/package/kernel/mac80211/patches/subsys/313-mac80211-fix-encryption-key-selection-for-802.3-xmit.patch
+++ b/package/kernel/mac80211/patches/subsys/313-mac80211-fix-encryption-key-selection-for-802.3-xmit.patch
@@ -28,13 +28,14 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -		 (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) ||
 -		  key->conf.cipher == WLAN_CIPHER_SUITE_TKIP))
 -		offload = false;
-+	    sdata->control_port_protocol == ehdr->h_proto))
-+		goto skip_offload;
- 
+-
 -	if (offload)
 -		ieee80211_8023_xmit(sdata, dev, sta, key, skb);
 -	else
 -		ieee80211_subif_start_xmit(skb, dev);
++	    sdata->control_port_protocol == ehdr->h_proto))
++		goto skip_offload;
+ 
 +	key = rcu_dereference(sta->ptk[sta->ptk_idx]);
 +	if (!key)
 +		key = rcu_dereference(sdata->default_unicast_key);
@@ -45,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 +
 +	ieee80211_8023_xmit(sdata, dev, sta, key, skb);
 +	goto out;
- 
++
 +skip_offload:
 +	ieee80211_subif_start_xmit(skb, dev);
  out:
diff --git a/package/kernel/mac80211/patches/subsys/341-mac80211-minstrel_ht-improve-ampdu-length-estimation.patch b/package/kernel/mac80211/patches/subsys/341-mac80211-minstrel_ht-improve-ampdu-length-estimation.patch
index f450ca9ca9..a8e6e89954 100644
--- a/package/kernel/mac80211/patches/subsys/341-mac80211-minstrel_ht-improve-ampdu-length-estimation.patch
+++ b/package/kernel/mac80211/patches/subsys/341-mac80211-minstrel_ht-improve-ampdu-length-estimation.patch
@@ -27,8 +27,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -	if (!mi->avg_ampdu_len)
 -		return AVG_AMPDU_SIZE;
 +	int duration;
- 
--	return MINSTREL_TRUNC(mi->avg_ampdu_len);
++
 +	if (mi->avg_ampdu_len)
 +		return MINSTREL_TRUNC(mi->avg_ampdu_len);
 +
@@ -36,7 +35,8 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 +		return 1;
 +
 +	duration = minstrel_get_duration(mi->max_tp_rate[0]);
-+
+ 
+-	return MINSTREL_TRUNC(mi->avg_ampdu_len);
 +	if (duration > 400 * 1000)
 +		return 2;
 +
diff --git a/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch b/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch
index 7af13661a8..09f6fd2214 100644
--- a/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch
+++ b/package/kernel/mac80211/patches/subsys/349-mac80211-minstrel_ht-significantly-redesign-the-rate.patch
@@ -179,14 +179,14 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 +	if (!rate)
  		return;
 -	}
- 
+-
 -	i = 0;
 -	if (n_rates > 1) {
 -		random = prandom_u32();
 -		i = random % n_rates;
 -	}
 -	probe_rate = rates[i];
--
+ 
 -out:
 -	mi->sample_rate = probe_rate;
 +	mi->sample_rate = rate;
@@ -584,13 +584,13 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -
 -	if (!(mi->supported[sample_group] & BIT(sample_idx)))
 -		return -1;
--
++	u8 seq;
+ 
 -	mrs = &mg->rates[sample_idx];
 -	sample_idx += MI_RATE(sample_group, 0);
 -
 -	tp_rate1 = mi->max_tp_rate[0];
-+	u8 seq;
- 
+-
 -	/* Set tp_rate2 to the second highest max_tp_rate */
 -	if (minstrel_get_duration(mi->max_tp_rate[0]) >
 -	    minstrel_get_duration(mi->max_tp_rate[1])) {
@@ -673,8 +673,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 -	else
 -		sample_idx = minstrel_get_sample_rate(mp, mi);
 +		return;
- 
--	if (sample_idx < 0)
++
 +	if (mp->hw->max_rates == 1 && mp->sample_switch &&
 +	    (mi->total_packets_cur >= SAMPLE_SWITCH_THR ||
 +	     mp->sample_switch == 1))
@@ -682,7 +681,8 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 +
 +	if (time_is_before_jiffies(mi->sample_time))
 +		return;
-+
+ 
+-	if (sample_idx < 0)
 +	mi->sample_time = jiffies + MINSTREL_SAMPLE_INTERVAL;
 +	sample_idx = minstrel_ht_get_sample_rate(mp, mi);
 +	if (!sample_idx)



More information about the lede-commits mailing list