diff mbox series

[OpenWrt-Devel] mac80211: Update to version 4.19.7-1

Message ID 20181207194933.21002-1-hauke@hauke-m.de
State Accepted
Delegated to: Hauke Mehrtens
Headers show
Series [OpenWrt-Devel] mac80211: Update to version 4.19.7-1 | expand

Commit Message

Hauke Mehrtens Dec. 7, 2018, 7:49 p.m. UTC
This updates the backports package used in mac80211 to version 4.19.7-1
which is based on kernel 4.19.7. This integrates all the stable fixes
introduces in this kernel version.

The deleted patches are not needed any more because they are either
included in the upstream Linux kernel 4.19.7 or in backports 4.19.7-1.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
 package/kernel/mac80211/Makefile                   |   6 +-
 .../patches/ath/080-ath10k_thermal_config.patch    |   2 +-
 .../patches/ath/402-ath_regd_optional.patch        |   2 +-
 .../patches/ath/404-regd_no_assoc_hints.patch      |   4 +-
 .../patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch  |   2 +-
 ...dling-of-peer_bw_rxnss_override-parameter.patch |   2 +-
 ...-controlling-support-for-various-chipsets.patch |  14 +--
 .../brcm/100-brcmfmac-fix-roamoff-1-modparam.patch |  15 +--
 ...ix-for-proper-support-of-160MHz-bandwidth.patch | 117 ---------------------
 ...move-recursion-from-firmware-load-error-h.patch |  17 +--
 .../patches/build/005-revert-devcoredump.patch     |   8 --
 .../patches/build/060-no_local_ssb_bcma.patch      |   4 +-
 .../rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch |   2 +-
 .../patches/subsys/140-tweak-TSQ-setting.patch     |   2 +-
 ...x-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch |  25 -----
 ...-free-skb-fraglist-before-freeing-the-skb.patch |   2 +-
 ...-mac80211-add-hdrlen-to-ieee80211_tx_data.patch |  10 +-
 ...8-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch |  18 ++--
 ...x-memory-accounting-with-A-MSDU-aggregati.patch |   6 +-
 ...nore-tx-status-for-PS-stations-in-ieee802.patch |   2 +-
 ...x-reordering-of-buffered-broadcast-packet.patch |   2 +-
 ...locate-TXQs-for-active-monitor-interfaces.patch |  26 -----
 22 files changed, 52 insertions(+), 236 deletions(-)
 delete mode 100644 package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
 delete mode 100644 package/kernel/mac80211/patches/build/005-revert-devcoredump.patch
 delete mode 100644 package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch
 delete mode 100644 package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch

Comments

Christian Lamparter Dec. 8, 2018, 5:35 p.m. UTC | #1
On Friday, December 7, 2018 8:49:33 PM CET Hauke Mehrtens wrote:
> This updates the backports package used in mac80211 to version 4.19.7-1
> which is based on kernel 4.19.7. This integrates all the stable fixes
> introduces in this kernel version.
> 
> The deleted patches are not needed any more because they are either
> included in the upstream Linux kernel 4.19.7 or in backports 4.19.7-1.
> 
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
> ---
>  package/kernel/mac80211/Makefile                   |   6 +-
>  .../patches/ath/080-ath10k_thermal_config.patch    |   2 +-
>  .../patches/ath/402-ath_regd_optional.patch        |   2 +-
>  .../patches/ath/404-regd_no_assoc_hints.patch      |   4 +-
>  .../patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch  |   2 +-
>  ...dling-of-peer_bw_rxnss_override-parameter.patch |   2 +-
>  ...-controlling-support-for-various-chipsets.patch |  14 +--
>  .../brcm/100-brcmfmac-fix-roamoff-1-modparam.patch |  15 +--
>  ...ix-for-proper-support-of-160MHz-bandwidth.patch | 117 ---------------------
>  ...move-recursion-from-firmware-load-error-h.patch |  17 +--
>  .../patches/build/005-revert-devcoredump.patch     |   8 --
>  .../patches/build/060-no_local_ssb_bcma.patch      |   4 +-
>  .../rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch |   2 +-
>  .../patches/subsys/140-tweak-TSQ-setting.patch     |   2 +-
>  ...x-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch |  25 -----
>  ...-free-skb-fraglist-before-freeing-the-skb.patch |   2 +-
>  ...-mac80211-add-hdrlen-to-ieee80211_tx_data.patch |  10 +-
>  ...8-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch |  18 ++--
>  ...x-memory-accounting-with-A-MSDU-aggregati.patch |   6 +-
>  ...nore-tx-status-for-PS-stations-in-ieee802.patch |   2 +-
>  ...x-reordering-of-buffered-broadcast-packet.patch |   2 +-
>  ...locate-TXQs-for-active-monitor-interfaces.patch |  26 -----
>  22 files changed, 52 insertions(+), 236 deletions(-)
>  delete mode 100644 package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
>  delete mode 100644 package/kernel/mac80211/patches/build/005-revert-devcoredump.patch
>  delete mode 100644 package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch
>  delete mode 100644 package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch

I think that the
package/kernel/mac80211/patches/ath/936-ath10k-fix-otp-failure-result.patch

hack can be removed at this point. The upstream patch that fixed the mess
was added long ago.

|commit a9f5f287fa1d47d61dfa8b60f94831174b2ea4d0
|Author: Anilkumar Kolli <akolli@qti.qualcomm.com>
|Date:   Wed May 31 14:21:27 2017 +0300
|
|    ath10k: add BMI parameters to fix calibration from DT/pre-cal
|
|    QCA99X0, QCA9888, QCA9984 supports calibration data in
|    either OTP or DT/pre-cal file. Current ath10k supports
|    Calibration data from OTP only.
|    
|    If caldata is loaded from DT/pre-cal file, fetching board id
|    and applying calibration parameters like tx power gets failed.
|    
|    error log:
|    [   15.733663] ath10k_pci 0000:01:00.0: failed to fetch board file: -2
|    [   15.741474] ath10k_pci 0000:01:00.0: could not probe fw (-2)
|    
|    This patch adds calibration data support from DT/pre-cal
|    file.  Below parameters are used to get board id and
|    applying calibration parameters from cal data.
|    
|                    EEPROM[OTP]     FLASH[DT/pre-cal file]
|    Cal param       0x700           0x10000
|    Board id        0x10            0x8000
|    
|    Tested on QCA9888 with pre-cal file.
|    
|    Signed-off-by: Anilkumar Kolli <akolli@qti.qualcomm.com>
|    Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>

And the affected ar71xx/ath79, ipq806x devices which have a QCA99X0,
QCA9888 or QCA9984 devices were converted from the hackish cal- to 
the supported pre-cal method a long time ago too.

Regards,
Christian
Christian Marangi Dec. 8, 2018, 5:39 p.m. UTC | #2
Tested on r7800 and works good
Il giorno ven 7 dic 2018 alle ore 20:50 Hauke Mehrtens
<hauke@hauke-m.de> ha scritto:
>
> This updates the backports package used in mac80211 to version 4.19.7-1
> which is based on kernel 4.19.7. This integrates all the stable fixes
> introduces in this kernel version.
>
> The deleted patches are not needed any more because they are either
> included in the upstream Linux kernel 4.19.7 or in backports 4.19.7-1.
>
> Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
> ---
>  package/kernel/mac80211/Makefile                   |   6 +-
>  .../patches/ath/080-ath10k_thermal_config.patch    |   2 +-
>  .../patches/ath/402-ath_regd_optional.patch        |   2 +-
>  .../patches/ath/404-regd_no_assoc_hints.patch      |   4 +-
>  .../patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch  |   2 +-
>  ...dling-of-peer_bw_rxnss_override-parameter.patch |   2 +-
>  ...-controlling-support-for-various-chipsets.patch |  14 +--
>  .../brcm/100-brcmfmac-fix-roamoff-1-modparam.patch |  15 +--
>  ...ix-for-proper-support-of-160MHz-bandwidth.patch | 117 ---------------------
>  ...move-recursion-from-firmware-load-error-h.patch |  17 +--
>  .../patches/build/005-revert-devcoredump.patch     |   8 --
>  .../patches/build/060-no_local_ssb_bcma.patch      |   4 +-
>  .../rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch |   2 +-
>  .../patches/subsys/140-tweak-TSQ-setting.patch     |   2 +-
>  ...x-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch |  25 -----
>  ...-free-skb-fraglist-before-freeing-the-skb.patch |   2 +-
>  ...-mac80211-add-hdrlen-to-ieee80211_tx_data.patch |  10 +-
>  ...8-mac80211-add-NEED_ALIGNED4_SKBS-hw-flag.patch |  18 ++--
>  ...x-memory-accounting-with-A-MSDU-aggregati.patch |   6 +-
>  ...nore-tx-status-for-PS-stations-in-ieee802.patch |   2 +-
>  ...x-reordering-of-buffered-broadcast-packet.patch |   2 +-
>  ...locate-TXQs-for-active-monitor-interfaces.patch |  26 -----
>  22 files changed, 52 insertions(+), 236 deletions(-)
>  delete mode 100644 package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
>  delete mode 100644 package/kernel/mac80211/patches/build/005-revert-devcoredump.patch
>  delete mode 100644 package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch
>  delete mode 100644 package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch
>
> diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
> index c322202b4a..5f79e54edf 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:=4.19-rc5-1
> +PKG_VERSION:=4.19.7-1
>  PKG_RELEASE:=1
> -PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19-rc5/
> -PKG_HASH:=5b61e64ea79d22bbac9e8612d5d5485974f223de00d4ec250b0faf4b7baf9957
> +PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19.7/
> +PKG_HASH:=86650a02f36b0d39059be343d4bad3be14adece699723713a69c94cc64d456ef
>
>  PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
>  PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
> 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 a04abb2d28..a86cbc6e54 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
> -@@ -140,6 +140,7 @@ ATH10K_SNOC=
> +@@ -139,6 +139,7 @@ ATH10K_SNOC=
>   ATH10K_DEBUG=
>   ATH10K_DEBUGFS=
>   ATH10K_SPECTRAL=
> 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 26fcd56144..03c12df1a8 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
> -@@ -84,6 +84,7 @@ ADM8211=
> +@@ -83,6 +83,7 @@ ADM8211=
>   ATH_COMMON=
>   WLAN_VENDOR_ATH=
>   ATH_DEBUG=
> 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 6e4794a764..ec95206acb 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
> -@@ -2980,6 +2980,8 @@ void regulatory_hint_country_ie(struct w
> +@@ -2982,6 +2982,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;
> -@@ -3186,6 +3188,7 @@ static void restore_regulatory_settings(
> +@@ -3188,6 +3190,7 @@ static void restore_regulatory_settings(
>
>   void regulatory_hint_disconnect(void)
>   {
> 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 c24b7409bc..30eba27137 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
> @@ -386,7 +386,7 @@
>   #endif /* _LINUX_ATH9K_PLATFORM_H */
>  --- a/local-symbols
>  +++ b/local-symbols
> -@@ -111,6 +111,7 @@ ATH9K_WOW=
> +@@ -110,6 +110,7 @@ ATH9K_WOW=
>   ATH9K_RFKILL=
>   ATH9K_CHANNEL_CONTEXT=
>   ATH9K_PCOEM=
> diff --git a/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch b/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch
> index b10e575b28..d8f6887cd0 100644
> --- a/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch
> +++ b/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch
> @@ -105,7 +105,7 @@ v9: use SM/MS macros from code.h to simplify shift/mask handling
>   }
>  --- a/drivers/net/wireless/ath/ath10k/wmi.c
>  +++ b/drivers/net/wireless/ath/ath10k/wmi.c
> -@@ -7346,12 +7346,7 @@ ath10k_wmi_peer_assoc_fill_10_4(struct a
> +@@ -7357,12 +7357,7 @@ ath10k_wmi_peer_assoc_fill_10_4(struct a
>         struct wmi_10_4_peer_assoc_complete_cmd *cmd = buf;
>
>         ath10k_wmi_peer_assoc_fill_10_2(ar, buf, arg);
> 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 f2cec9ddfb..bb29489c0b 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
> -@@ -143,6 +143,7 @@ ATH10K_DEBUG=
> +@@ -142,6 +142,7 @@ ATH10K_DEBUG=
>   ATH10K_DEBUGFS=
>   ATH10K_SPECTRAL=
>   ATH10K_THERMAL=
> @@ -475,7 +475,7 @@ v13:
>   static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
>  --- a/drivers/net/wireless/ath/ath10k/wmi.c
>  +++ b/drivers/net/wireless/ath/ath10k/wmi.c
> -@@ -7166,6 +7166,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
> +@@ -7177,6 +7177,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
>         return skb;
>   }
>
> @@ -525,7 +525,7 @@ v13:
>   static struct sk_buff *
>   ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
>                              enum wmi_sta_ps_mode psmode)
> -@@ -8777,6 +8820,9 @@ static const struct wmi_ops wmi_ops = {
> +@@ -8788,6 +8831,9 @@ static const struct wmi_ops wmi_ops = {
>         .fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
>         .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
>         .gen_echo = ath10k_wmi_op_gen_echo,
> @@ -535,7 +535,7 @@ v13:
>         /* .gen_bcn_tmpl not implemented */
>         /* .gen_prb_tmpl not implemented */
>         /* .gen_p2p_go_bcn_ie not implemented */
> -@@ -8847,6 +8893,8 @@ static const struct wmi_ops wmi_10_1_ops
> +@@ -8858,6 +8904,8 @@ static const struct wmi_ops wmi_10_1_ops
>         .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
>         .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
>         .gen_echo = ath10k_wmi_op_gen_echo,
> @@ -544,7 +544,7 @@ v13:
>         /* .gen_bcn_tmpl not implemented */
>         /* .gen_prb_tmpl not implemented */
>         /* .gen_p2p_go_bcn_ie not implemented */
> -@@ -8918,6 +8966,8 @@ static const struct wmi_ops wmi_10_2_ops
> +@@ -8929,6 +8977,8 @@ static const struct wmi_ops wmi_10_2_ops
>         .gen_delba_send = ath10k_wmi_op_gen_delba_send,
>         .fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
>         .get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
> @@ -553,7 +553,7 @@ v13:
>         /* .gen_pdev_enable_adaptive_cca not implemented */
>   };
>
> -@@ -8988,6 +9038,8 @@ static const struct wmi_ops wmi_10_2_4_o
> +@@ -8999,6 +9049,8 @@ static const struct wmi_ops wmi_10_2_4_o
>         .gen_pdev_enable_adaptive_cca =
>                 ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
>         .get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
> @@ -562,7 +562,7 @@ v13:
>         /* .gen_bcn_tmpl not implemented */
>         /* .gen_prb_tmpl not implemented */
>         /* .gen_p2p_go_bcn_ie not implemented */
> -@@ -9067,6 +9119,8 @@ static const struct wmi_ops wmi_10_4_ops
> +@@ -9078,6 +9130,8 @@ static const struct wmi_ops wmi_10_4_ops
>         .gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
>         .gen_echo = ath10k_wmi_op_gen_echo,
>         .gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
> diff --git a/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch b/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
> index a3053616c1..114a3b3fe4 100644
> --- a/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
> +++ b/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
> @@ -21,11 +21,9 @@ Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
>   .../net/wireless/broadcom/brcm80211/brcmfmac/core.c   |  2 +-
>   3 files changed, 11 insertions(+), 4 deletions(-)
>
> -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> -index 7f0a5bade70a..c0e3ae7bf2ae 100644
>  --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>  +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> -@@ -5196,10 +5196,17 @@ static struct cfg80211_ops brcmf_cfg80211_ops = {
> +@@ -5188,10 +5188,17 @@ static struct cfg80211_ops brcmf_cfg8021
>         .del_pmk = brcmf_cfg80211_del_pmk,
>   };
>
> @@ -45,11 +43,9 @@ index 7f0a5bade70a..c0e3ae7bf2ae 100644
>   }
>
>   struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
> -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
> -index a4aec0004e4f..9a6287f084a9 100644
>  --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
>  +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
> -@@ -404,7 +404,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
> +@@ -404,7 +404,7 @@ struct brcmf_cfg80211_info *brcmf_cfg802
>   void brcmf_cfg80211_detach(struct brcmf_cfg80211_info *cfg);
>   s32 brcmf_cfg80211_up(struct net_device *ndev);
>   s32 brcmf_cfg80211_down(struct net_device *ndev);
> @@ -58,11 +54,9 @@ index a4aec0004e4f..9a6287f084a9 100644
>   enum nl80211_iftype brcmf_cfg80211_get_iftype(struct brcmf_if *ifp);
>
>   struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
> -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
> -index b1f702faff4f..860a4372cb56 100644
>  --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
>  +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
> -@@ -1130,7 +1130,7 @@ int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
> +@@ -1151,7 +1151,7 @@ int brcmf_attach(struct device *dev, str
>
>         brcmf_dbg(TRACE, "Enter\n");
>
> @@ -71,6 +65,3 @@ index b1f702faff4f..860a4372cb56 100644
>         if (!ops)
>                 return -ENOMEM;
>
> ---
> -2.18.1
> -
> diff --git a/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch b/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
> deleted file mode 100644
> index 6e96578990..0000000000
> --- a/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
> +++ /dev/null
> @@ -1,117 +0,0 @@
> -From: Arend van Spriel <arend.vanspriel@broadcom.com>
> -Date: Wed, 5 Sep 2018 09:48:58 +0200
> -Subject: [PATCH] brcmfmac: fix for proper support of 160MHz bandwidth
> -
> -Decoding of firmware channel information was not complete for 160MHz
> -support. This resulted in the following warning:
> -
> -  WARNING: CPU: 2 PID: 2222 at .../broadcom/brcm80211/brcmutil/d11.c:196
> -       brcmu_d11ac_decchspec+0x2e/0x100 [brcmutil]
> -  Modules linked in: brcmfmac(O) brcmutil(O) sha256_generic cfg80211 ...
> -  CPU: 2 PID: 2222 Comm: kworker/2:0 Tainted: G           O
> -  4.17.0-wt-testing-x64-00002-gf1bed50 #1
> -  Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011
> -  Workqueue: events request_firmware_work_func
> -  RIP: 0010:brcmu_d11ac_decchspec+0x2e/0x100 [brcmutil]
> -  RSP: 0018:ffffc90000047bd0 EFLAGS: 00010206
> -  RAX: 000000000000e832 RBX: ffff8801146fe910 RCX: ffff8801146fd3c0
> -  RDX: 0000000000002800 RSI: 0000000000000070 RDI: ffffc90000047c30
> -  RBP: ffffc90000047bd0 R08: 0000000000000000 R09: ffffffffa0798c80
> -  R10: ffff88012bca55e0 R11: ffff880110a4ea00 R12: ffff8801146f8000
> -  R13: ffffc90000047c30 R14: ffff8801146fe930 R15: ffff8801138e02e0
> -  FS:  0000000000000000(0000) GS:ffff88012bc80000(0000) knlGS:0000000000000000
> -  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> -  CR2: 00007f18ce8b8070 CR3: 000000000200a003 CR4: 00000000000206e0
> -  Call Trace:
> -   brcmf_setup_wiphybands+0x212/0x780 [brcmfmac]
> -   brcmf_cfg80211_attach+0xae2/0x11a0 [brcmfmac]
> -   brcmf_attach+0x1fc/0x4b0 [brcmfmac]
> -   ? __kmalloc+0x13c/0x1c0
> -   brcmf_pcie_setup+0x99b/0xe00 [brcmfmac]
> -   brcmf_fw_request_done+0x16a/0x1f0 [brcmfmac]
> -   request_firmware_work_func+0x36/0x60
> -   process_one_work+0x146/0x350
> -   worker_thread+0x4a/0x3b0
> -   kthread+0x102/0x140
> -   ? process_one_work+0x350/0x350
> -   ? kthread_bind+0x20/0x20
> -   ret_from_fork+0x35/0x40
> -  Code: 66 90 0f b7 07 55 48 89 e5 89 c2 88 47 02 88 47 03 66 81 e2 00 38
> -       66 81 fa 00 18 74 6e 66 81 fa 00 20 74 39 66 81 fa 00 10 74 14 <0f>
> -       0b 66 25 00 c0 74 20 66 3d 00 c0 75 20 c6 47 04 01 5d c3 66
> -  ---[ end trace 550c46682415b26d ]---
> -  brcmfmac: brcmf_construct_chaninfo: Ignoring unexpected firmware channel 50
> -
> -This patch adds the missing stuff to properly handle this.
> -
> -Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
> -Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
> -Reviewed-by: Franky Lin <franky.lin@broadcom.com>
> -Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
> ----
> - .../net/wireless/broadcom/brcm80211/brcmutil/d11.c | 34 +++++++++++++++++++++-
> - .../broadcom/brcm80211/include/brcmu_wifi.h        |  2 ++
> - 2 files changed, 35 insertions(+), 1 deletion(-)
> -
> ---- a/drivers/net/wireless/broadcom/brcm80211/brcmutil/d11.c
> -+++ b/drivers/net/wireless/broadcom/brcm80211/brcmutil/d11.c
> -@@ -77,6 +77,8 @@ static u16 d11ac_bw(enum brcmu_chan_bw b
> -               return BRCMU_CHSPEC_D11AC_BW_40;
> -       case BRCMU_CHAN_BW_80:
> -               return BRCMU_CHSPEC_D11AC_BW_80;
> -+      case BRCMU_CHAN_BW_160:
> -+              return BRCMU_CHSPEC_D11AC_BW_160;
> -       default:
> -               WARN_ON(1);
> -       }
> -@@ -190,8 +192,38 @@ static void brcmu_d11ac_decchspec(struct
> -                       break;
> -               }
> -               break;
> --      case BRCMU_CHSPEC_D11AC_BW_8080:
> -       case BRCMU_CHSPEC_D11AC_BW_160:
> -+              switch (ch->sb) {
> -+              case BRCMU_CHAN_SB_LLL:
> -+                      ch->control_ch_num -= CH_70MHZ_APART;
> -+                      break;
> -+              case BRCMU_CHAN_SB_LLU:
> -+                      ch->control_ch_num -= CH_50MHZ_APART;
> -+                      break;
> -+              case BRCMU_CHAN_SB_LUL:
> -+                      ch->control_ch_num -= CH_30MHZ_APART;
> -+                      break;
> -+              case BRCMU_CHAN_SB_LUU:
> -+                      ch->control_ch_num -= CH_10MHZ_APART;
> -+                      break;
> -+              case BRCMU_CHAN_SB_ULL:
> -+                      ch->control_ch_num += CH_10MHZ_APART;
> -+                      break;
> -+              case BRCMU_CHAN_SB_ULU:
> -+                      ch->control_ch_num += CH_30MHZ_APART;
> -+                      break;
> -+              case BRCMU_CHAN_SB_UUL:
> -+                      ch->control_ch_num += CH_50MHZ_APART;
> -+                      break;
> -+              case BRCMU_CHAN_SB_UUU:
> -+                      ch->control_ch_num += CH_70MHZ_APART;
> -+                      break;
> -+              default:
> -+                      WARN_ON_ONCE(1);
> -+                      break;
> -+              }
> -+              break;
> -+      case BRCMU_CHSPEC_D11AC_BW_8080:
> -       default:
> -               WARN_ON_ONCE(1);
> -               break;
> ---- a/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h
> -+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h
> -@@ -29,6 +29,8 @@
> - #define CH_UPPER_SB                   0x01
> - #define CH_LOWER_SB                   0x02
> - #define CH_EWA_VALID                  0x04
> -+#define CH_70MHZ_APART                        14
> -+#define CH_50MHZ_APART                        10
> - #define CH_30MHZ_APART                        6
> - #define CH_20MHZ_APART                        4
> - #define CH_10MHZ_APART                        2
> diff --git a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
> index f3da1df541..1a4a1ec348 100644
> --- a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
> +++ b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
> @@ -68,29 +68,30 @@ Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
>         ret = brcmf_fw_complete_request(fw, fwctx);
>  -      if (ret < 0)
>  -              goto fail;
> --
> +
>  -      do {
>  -              if (++fwctx->curpos == fwctx->req->n_items) {
>  -                      ret = 0;
>  -                      goto done;
>  -              }
> -
> +-
>  -              ret = brcmf_fw_request_next_item(fwctx, false);
>  -      } while (ret == -EAGAIN);
>  -
>  -      return;
> -+      while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
> -+              cur = &fwctx->req->items[fwctx->curpos];
> -+              request_firmware(&fw, cur->path, fwctx->dev);
> -+              ret = brcmf_fw_complete_request(fw, ctx);
> -+      }
> -
> +-
>  -fail:
>  -      brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
>  -                dev_name(fwctx->dev), cur->path);
>  -      brcmf_fw_free_request(fwctx->req);
>  -      fwctx->req = NULL;
>  -done:
> ++      while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
> ++              cur = &fwctx->req->items[fwctx->curpos];
> ++              request_firmware(&fw, cur->path, fwctx->dev);
> ++              ret = brcmf_fw_complete_request(fw, ctx);
> ++      }
> ++
>  +      if (ret) {
>  +              brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
>  +                        dev_name(fwctx->dev), cur->path);
> diff --git a/package/kernel/mac80211/patches/build/005-revert-devcoredump.patch b/package/kernel/mac80211/patches/build/005-revert-devcoredump.patch
> deleted file mode 100644
> index 283f1bf023..0000000000
> --- a/package/kernel/mac80211/patches/build/005-revert-devcoredump.patch
> +++ /dev/null
> @@ -1,8 +0,0 @@
> ---- a/compat/Makefile
> -+++ b/compat/Makefile
> -@@ -79,5 +79,3 @@ obj-$(CPTCFG_BPAUTO_BUILD_CORDIC) += cor
> - compat-$(CPTCFG_BPAUTO_PUBLIC_KEY) +=
> - compat-$(CPTCFG_BPAUTO_BUCKET_LOCKS) += lib-bucket_locks.o
> - compat-$(CPTCFG_BPAUTO_PKCS7) +=
> --skcipher-objs += crypto-skcipher.o
> --obj-$(CPTCFG_BPAUTO_CRYPTO_SKCIPHER) += skcipher.o
> diff --git a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
> index 06636060f7..1d4bf12652 100644
> --- a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
> +++ b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
> @@ -1,6 +1,6 @@
>  --- a/local-symbols
>  +++ b/local-symbols
> -@@ -396,43 +396,6 @@ USB_IPHETH=
> +@@ -395,43 +395,6 @@ USB_IPHETH=
>   USB_SIERRA_NET=
>   USB_VL600=
>   USB_NET_CH9200=
> @@ -192,7 +192,7 @@
>         select BRCMUTIL
>  --- a/Kconfig.local
>  +++ b/Kconfig.local
> -@@ -1192,117 +1192,6 @@ config BACKPORTED_USB_VL600
> +@@ -1189,117 +1189,6 @@ config BACKPORTED_USB_VL600
>   config BACKPORTED_USB_NET_CH9200
>         tristate
>         default USB_NET_CH9200
> 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 d238072b9a..18a3fb82ea 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
> -@@ -305,6 +305,7 @@ RT2X00_LIB_FIRMWARE=
> +@@ -304,6 +304,7 @@ RT2X00_LIB_FIRMWARE=
>   RT2X00_LIB_CRYPTO=
>   RT2X00_LIB_LEDS=
>   RT2X00_LIB_DEBUGFS=
> 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 e0fe5a1b79..f7116eb9f7 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
> -@@ -3787,6 +3787,12 @@ out:
> +@@ -3791,6 +3791,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/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch b/package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch
> deleted file mode 100644
> index 7aa62858bd..0000000000
> --- a/package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch
> +++ /dev/null
> @@ -1,25 +0,0 @@
> -From: Felix Fietkau <nbd@nbd.name>
> -Date: Sat, 29 Sep 2018 15:55:44 +0200
> -Subject: [PATCH] mac80211: fix setting IEEE80211_KEY_FLAG_RX_MGMT for AP mode
> - keys
> -
> -key->sta is only valid after ieee80211_key_link, which is called later
> -in this function. Because of that, the IEEE80211_KEY_FLAG_RX_MGMT is
> -never set when management frame protection is enabled.
> -
> -Fixes: e548c49e6dc6b ("mac80211: add key flag for management keys")
> -Cc: stable@vger.kernel.org
> -Signed-off-by: Felix Fietkau <nbd@nbd.name>
> ----
> -
> ---- a/net/mac80211/cfg.c
> -+++ b/net/mac80211/cfg.c
> -@@ -427,7 +427,7 @@ static int ieee80211_add_key(struct wiph
> -       case NL80211_IFTYPE_AP:
> -       case NL80211_IFTYPE_AP_VLAN:
> -               /* Keys without a station are used for TX only */
> --              if (key->sta && test_sta_flag(key->sta, WLAN_STA_MFP))
> -+              if (sta && test_sta_flag(sta, WLAN_STA_MFP))
> -                       key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT;
> -               break;
> -       case NL80211_IFTYPE_ADHOC:
> diff --git a/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch b/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch
> index 200e4fe38d..dc12290f4f 100644
> --- a/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch
> +++ b/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch
> @@ -17,7 +17,7 @@ Signed-off-by: Sara Sharon <sara.sharon@intel.com>
>
>  --- a/net/mac80211/status.c
>  +++ b/net/mac80211/status.c
> -@@ -561,6 +561,11 @@ static void ieee80211_report_used_skb(st
> +@@ -558,6 +558,11 @@ static void ieee80211_report_used_skb(st
>         }
>
>         ieee80211_led_tx(local);
> 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 f4fc431f35..a0221c0d6c 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
> @@ -21,7 +21,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>
>  --- a/net/mac80211/tx.c
>  +++ b/net/mac80211/tx.c
> -@@ -921,7 +921,7 @@ ieee80211_tx_h_fragment(struct ieee80211
> +@@ -925,7 +925,7 @@ ieee80211_tx_h_fragment(struct ieee80211
>         struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
>         struct ieee80211_hdr *hdr = (void *)skb->data;
>         int frag_threshold = tx->local->hw.wiphy->frag_threshold;
> @@ -30,7 +30,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>         int fragnum;
>
>         /* no matter what happens, tx->skb moves to tx->skbs */
> -@@ -942,8 +942,6 @@ ieee80211_tx_h_fragment(struct ieee80211
> +@@ -946,8 +946,6 @@ ieee80211_tx_h_fragment(struct ieee80211
>         if (WARN_ON(info->flags & IEEE80211_TX_CTL_AMPDU))
>                 return TX_DROP;
>
> @@ -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;
> -@@ -1174,6 +1172,8 @@ ieee80211_tx_prepare(struct ieee80211_su
> +@@ -1178,6 +1176,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;
> -@@ -3497,6 +3497,7 @@ begin:
> +@@ -3501,6 +3501,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);
> -@@ -3833,6 +3834,7 @@ ieee80211_build_data_template(struct iee
> +@@ -3837,6 +3838,7 @@ ieee80211_build_data_template(struct iee
>         hdr = (void *)skb->data;
>         tx.sta = sta_info_get(sdata, hdr->addr1);
>         tx.skb = skb;
> 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 8183fb89b6..42274cbab1 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
> @@ -96,7 +96,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>         struct rcu_head rcu_head;
>  --- a/net/mac80211/status.c
>  +++ b/net/mac80211/status.c
> -@@ -658,9 +658,22 @@ void ieee80211_tx_monitor(struct ieee802
> +@@ -655,9 +655,22 @@ void ieee80211_tx_monitor(struct ieee802
>         struct sk_buff *skb2;
>         struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
>         struct ieee80211_sub_if_data *sdata;
> @@ -137,7 +137,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>
>  --- a/net/mac80211/tx.c
>  +++ b/net/mac80211/tx.c
> -@@ -1171,8 +1171,7 @@ ieee80211_tx_prepare(struct ieee80211_su
> +@@ -1175,8 +1175,7 @@ ieee80211_tx_prepare(struct ieee80211_su
>         info->flags &= ~IEEE80211_TX_INTFL_NEED_TXPROCESSING;
>
>         hdr = (struct ieee80211_hdr *) skb->data;
> @@ -147,7 +147,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>
>         if (likely(sta)) {
>                 if (!IS_ERR(sta))
> -@@ -2205,7 +2204,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
> +@@ -2209,7 +2208,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
>                 goto fail;
>
>         hdr = (struct ieee80211_hdr *)(skb->data + len_rthdr);
> @@ -156,7 +156,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>
>         if (skb->len < len_rthdr + hdrlen)
>                 goto fail;
> -@@ -2423,7 +2422,7 @@ static struct sk_buff *ieee80211_build_h
> +@@ -2427,7 +2426,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;
> @@ -165,7 +165,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>
>         if (IS_ERR(sta))
>                 sta = NULL;
> -@@ -2643,6 +2642,9 @@ static struct sk_buff *ieee80211_build_h
> +@@ -2647,6 +2646,9 @@ static struct sk_buff *ieee80211_build_h
>                 hdrlen += 2;
>         }
>
> @@ -175,7 +175,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>         /*
>          * Drop unicast frames to unauthorised stations unless they are
>          * EAPOL frames from the local station.
> -@@ -2723,6 +2725,7 @@ static struct sk_buff *ieee80211_build_h
> +@@ -2727,6 +2729,7 @@ static struct sk_buff *ieee80211_build_h
>
>         skb_pull(skb, skip_header_bytes);
>         head_need = hdrlen + encaps_len + meshhdrlen - skb_headroom(skb);
> @@ -183,7 +183,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>
>         /*
>          * So we need to modify the skb header and hence need a copy of
> -@@ -2755,6 +2758,9 @@ static struct sk_buff *ieee80211_build_h
> +@@ -2759,6 +2762,9 @@ static struct sk_buff *ieee80211_build_h
>                 memcpy(skb_push(skb, meshhdrlen), &mesh_hdr, meshhdrlen);
>   #endif
>
> @@ -193,7 +193,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>         if (ieee80211_is_data_qos(fc)) {
>                 __le16 *qos_control;
>
> -@@ -2930,6 +2936,9 @@ void ieee80211_check_fast_xmit(struct st
> +@@ -2934,6 +2940,9 @@ void ieee80211_check_fast_xmit(struct st
>                 fc |= cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
>         }
>
> @@ -203,7 +203,7 @@ Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
>         /* 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,
> -@@ -3524,7 +3533,7 @@ begin:
> +@@ -3528,7 +3537,7 @@ begin:
>
>                 if (tx.key &&
>                     (tx.key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV))
> 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 54bb114f65..fe0b98c3ac 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
> -@@ -3184,6 +3184,7 @@ static bool ieee80211_amsdu_aggregate(st
> +@@ -3188,6 +3188,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;
> -@@ -3215,12 +3216,13 @@ static bool ieee80211_amsdu_aggregate(st
> +@@ -3219,12 +3220,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)
> @@ -46,7 +46,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>
>         nfrags = 1 + skb_shinfo(skb)->nr_frags;
>         nfrags += 1 + skb_shinfo(head)->nr_frags;
> -@@ -3278,6 +3280,9 @@ out_recalc:
> +@@ -3282,6 +3284,9 @@ out_recalc:
>                 fq_recalc_backlog(fq, tin, flow);
>         }
>   out:
> diff --git a/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch b/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch
> index a4176363bb..ee2059f9c8 100644
> --- a/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch
> +++ b/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch
> @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>
>  --- a/net/mac80211/status.c
>  +++ b/net/mac80211/status.c
> -@@ -987,6 +987,8 @@ void ieee80211_tx_status_ext(struct ieee
> +@@ -984,6 +984,8 @@ void ieee80211_tx_status_ext(struct ieee
>                         /* 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;
> diff --git a/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch b/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch
> index 57f4ca64a5..4257365a79 100644
> --- a/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch
> +++ b/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch
> @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
>
>  --- a/net/mac80211/tx.c
>  +++ b/net/mac80211/tx.c
> -@@ -435,8 +435,8 @@ ieee80211_tx_h_multicast_ps_buf(struct i
> +@@ -439,8 +439,8 @@ ieee80211_tx_h_multicast_ps_buf(struct i
>         if (ieee80211_hw_check(&tx->local->hw, QUEUE_CONTROL))
>                 info->hw_queue = tx->sdata->vif.cab_queue;
>
> diff --git a/package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch b/package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch
> deleted file mode 100644
> index e959bc91ab..0000000000
> --- a/package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -From: Felix Fietkau <nbd@nbd.name>
> -Date: Sat, 22 Sep 2018 15:05:59 +0200
> -Subject: [PATCH] mac80211: allocate TXQs for active monitor interfaces
> -
> -Monitor mode interfaces with the active flag are passed down to the driver.
> -Drivers using TXQ expect that all interfaces have allocated TXQs before
> -they get added.
> -
> -Fixes: 79af1f866193d ("mac80211: avoid allocating TXQs that won't be used")
> -Cc: stable@vger.kernel.org
> -Reported-by: Catrinel Catrinescu <cc@80211.de>
> -Signed-off-by: Felix Fietkau <nbd@nbd.name>
> ----
> -
> ---- a/net/mac80211/iface.c
> -+++ b/net/mac80211/iface.c
> -@@ -1834,7 +1834,8 @@ int ieee80211_if_add(struct ieee80211_lo
> -
> -               if (local->ops->wake_tx_queue &&
> -                   type != NL80211_IFTYPE_AP_VLAN &&
> --                  type != NL80211_IFTYPE_MONITOR)
> -+                  (type != NL80211_IFTYPE_MONITOR ||
> -+                   (params->flags & MONITOR_FLAG_ACTIVE)))
> -                       txq_size += sizeof(struct txq_info) +
> -                                   local->hw.txq_data_size;
> -
> --
> 2.11.0
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel
diff mbox series

Patch

diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile
index c322202b4a..5f79e54edf 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:=4.19-rc5-1
+PKG_VERSION:=4.19.7-1
 PKG_RELEASE:=1
-PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19-rc5/
-PKG_HASH:=5b61e64ea79d22bbac9e8612d5d5485974f223de00d4ec250b0faf4b7baf9957
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v4.19.7/
+PKG_HASH:=86650a02f36b0d39059be343d4bad3be14adece699723713a69c94cc64d456ef
 
 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
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 a04abb2d28..a86cbc6e54 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
-@@ -140,6 +140,7 @@ ATH10K_SNOC=
+@@ -139,6 +139,7 @@ ATH10K_SNOC=
  ATH10K_DEBUG=
  ATH10K_DEBUGFS=
  ATH10K_SPECTRAL=
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 26fcd56144..03c12df1a8 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
-@@ -84,6 +84,7 @@ ADM8211=
+@@ -83,6 +83,7 @@ ADM8211=
  ATH_COMMON=
  WLAN_VENDOR_ATH=
  ATH_DEBUG=
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 6e4794a764..ec95206acb 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
-@@ -2980,6 +2980,8 @@ void regulatory_hint_country_ie(struct w
+@@ -2982,6 +2982,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;
-@@ -3186,6 +3188,7 @@ static void restore_regulatory_settings(
+@@ -3188,6 +3190,7 @@ static void restore_regulatory_settings(
  
  void regulatory_hint_disconnect(void)
  {
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 c24b7409bc..30eba27137 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
@@ -386,7 +386,7 @@ 
  #endif /* _LINUX_ATH9K_PLATFORM_H */
 --- a/local-symbols
 +++ b/local-symbols
-@@ -111,6 +111,7 @@ ATH9K_WOW=
+@@ -110,6 +110,7 @@ ATH9K_WOW=
  ATH9K_RFKILL=
  ATH9K_CHANNEL_CONTEXT=
  ATH9K_PCOEM=
diff --git a/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch b/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch
index b10e575b28..d8f6887cd0 100644
--- a/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch
+++ b/package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch
@@ -105,7 +105,7 @@  v9: use SM/MS macros from code.h to simplify shift/mask handling
  }
 --- a/drivers/net/wireless/ath/ath10k/wmi.c
 +++ b/drivers/net/wireless/ath/ath10k/wmi.c
-@@ -7346,12 +7346,7 @@ ath10k_wmi_peer_assoc_fill_10_4(struct a
+@@ -7357,12 +7357,7 @@ ath10k_wmi_peer_assoc_fill_10_4(struct a
  	struct wmi_10_4_peer_assoc_complete_cmd *cmd = buf;
  
  	ath10k_wmi_peer_assoc_fill_10_2(ar, buf, arg);
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 f2cec9ddfb..bb29489c0b 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
-@@ -143,6 +143,7 @@ ATH10K_DEBUG=
+@@ -142,6 +142,7 @@ ATH10K_DEBUG=
  ATH10K_DEBUGFS=
  ATH10K_SPECTRAL=
  ATH10K_THERMAL=
@@ -475,7 +475,7 @@  v13:
  static const struct wmi_peer_flags_map wmi_tlv_peer_flags_map = {
 --- a/drivers/net/wireless/ath/ath10k/wmi.c
 +++ b/drivers/net/wireless/ath/ath10k/wmi.c
-@@ -7166,6 +7166,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -7177,6 +7177,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
  	return skb;
  }
  
@@ -525,7 +525,7 @@  v13:
  static struct sk_buff *
  ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
  			     enum wmi_sta_ps_mode psmode)
-@@ -8777,6 +8820,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -8788,6 +8831,9 @@ static const struct wmi_ops wmi_ops = {
  	.fw_stats_fill = ath10k_wmi_main_op_fw_stats_fill,
  	.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
  	.gen_echo = ath10k_wmi_op_gen_echo,
@@ -535,7 +535,7 @@  v13:
  	/* .gen_bcn_tmpl not implemented */
  	/* .gen_prb_tmpl not implemented */
  	/* .gen_p2p_go_bcn_ie not implemented */
-@@ -8847,6 +8893,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -8858,6 +8904,8 @@ static const struct wmi_ops wmi_10_1_ops
  	.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
  	.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
  	.gen_echo = ath10k_wmi_op_gen_echo,
@@ -544,7 +544,7 @@  v13:
  	/* .gen_bcn_tmpl not implemented */
  	/* .gen_prb_tmpl not implemented */
  	/* .gen_p2p_go_bcn_ie not implemented */
-@@ -8918,6 +8966,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -8929,6 +8977,8 @@ static const struct wmi_ops wmi_10_2_ops
  	.gen_delba_send = ath10k_wmi_op_gen_delba_send,
  	.fw_stats_fill = ath10k_wmi_10x_op_fw_stats_fill,
  	.get_vdev_subtype = ath10k_wmi_op_get_vdev_subtype,
@@ -553,7 +553,7 @@  v13:
  	/* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
-@@ -8988,6 +9038,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -8999,6 +9049,8 @@ static const struct wmi_ops wmi_10_2_4_o
  	.gen_pdev_enable_adaptive_cca =
  		ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
  	.get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
@@ -562,7 +562,7 @@  v13:
  	/* .gen_bcn_tmpl not implemented */
  	/* .gen_prb_tmpl not implemented */
  	/* .gen_p2p_go_bcn_ie not implemented */
-@@ -9067,6 +9119,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -9078,6 +9130,8 @@ static const struct wmi_ops wmi_10_4_ops
  	.gen_pdev_bss_chan_info_req = ath10k_wmi_10_2_op_gen_pdev_bss_chan_info,
  	.gen_echo = ath10k_wmi_op_gen_echo,
  	.gen_pdev_get_tpc_config = ath10k_wmi_10_2_4_op_gen_pdev_get_tpc_config,
diff --git a/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch b/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
index a3053616c1..114a3b3fe4 100644
--- a/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
+++ b/package/kernel/mac80211/patches/brcm/100-brcmfmac-fix-roamoff-1-modparam.patch
@@ -21,11 +21,9 @@  Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
  .../net/wireless/broadcom/brcm80211/brcmfmac/core.c   |  2 +-
  3 files changed, 11 insertions(+), 4 deletions(-)
 
-diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-index 7f0a5bade70a..c0e3ae7bf2ae 100644
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -5196,10 +5196,17 @@ static struct cfg80211_ops brcmf_cfg80211_ops = {
+@@ -5188,10 +5188,17 @@ static struct cfg80211_ops brcmf_cfg8021
  	.del_pmk = brcmf_cfg80211_del_pmk,
  };
  
@@ -45,11 +43,9 @@  index 7f0a5bade70a..c0e3ae7bf2ae 100644
  }
  
  struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
-diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
-index a4aec0004e4f..9a6287f084a9 100644
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.h
-@@ -404,7 +404,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr,
+@@ -404,7 +404,7 @@ struct brcmf_cfg80211_info *brcmf_cfg802
  void brcmf_cfg80211_detach(struct brcmf_cfg80211_info *cfg);
  s32 brcmf_cfg80211_up(struct net_device *ndev);
  s32 brcmf_cfg80211_down(struct net_device *ndev);
@@ -58,11 +54,9 @@  index a4aec0004e4f..9a6287f084a9 100644
  enum nl80211_iftype brcmf_cfg80211_get_iftype(struct brcmf_if *ifp);
  
  struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg,
-diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
-index b1f702faff4f..860a4372cb56 100644
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
-@@ -1130,7 +1130,7 @@ int brcmf_attach(struct device *dev, struct brcmf_mp_device *settings)
+@@ -1151,7 +1151,7 @@ int brcmf_attach(struct device *dev, str
  
  	brcmf_dbg(TRACE, "Enter\n");
  
@@ -71,6 +65,3 @@  index b1f702faff4f..860a4372cb56 100644
  	if (!ops)
  		return -ENOMEM;
  
--- 
-2.18.1
-
diff --git a/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch b/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
deleted file mode 100644
index 6e96578990..0000000000
--- a/package/kernel/mac80211/patches/brcm/304-v4.20-0001-brcmfmac-fix-for-proper-support-of-160MHz-bandwidth.patch
+++ /dev/null
@@ -1,117 +0,0 @@ 
-From: Arend van Spriel <arend.vanspriel@broadcom.com>
-Date: Wed, 5 Sep 2018 09:48:58 +0200
-Subject: [PATCH] brcmfmac: fix for proper support of 160MHz bandwidth
-
-Decoding of firmware channel information was not complete for 160MHz
-support. This resulted in the following warning:
-
-  WARNING: CPU: 2 PID: 2222 at .../broadcom/brcm80211/brcmutil/d11.c:196
-	brcmu_d11ac_decchspec+0x2e/0x100 [brcmutil]
-  Modules linked in: brcmfmac(O) brcmutil(O) sha256_generic cfg80211 ...
-  CPU: 2 PID: 2222 Comm: kworker/2:0 Tainted: G           O
-  4.17.0-wt-testing-x64-00002-gf1bed50 #1
-  Hardware name: Dell Inc. Latitude E6410/07XJP9, BIOS A07 02/15/2011
-  Workqueue: events request_firmware_work_func
-  RIP: 0010:brcmu_d11ac_decchspec+0x2e/0x100 [brcmutil]
-  RSP: 0018:ffffc90000047bd0 EFLAGS: 00010206
-  RAX: 000000000000e832 RBX: ffff8801146fe910 RCX: ffff8801146fd3c0
-  RDX: 0000000000002800 RSI: 0000000000000070 RDI: ffffc90000047c30
-  RBP: ffffc90000047bd0 R08: 0000000000000000 R09: ffffffffa0798c80
-  R10: ffff88012bca55e0 R11: ffff880110a4ea00 R12: ffff8801146f8000
-  R13: ffffc90000047c30 R14: ffff8801146fe930 R15: ffff8801138e02e0
-  FS:  0000000000000000(0000) GS:ffff88012bc80000(0000) knlGS:0000000000000000
-  CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
-  CR2: 00007f18ce8b8070 CR3: 000000000200a003 CR4: 00000000000206e0
-  Call Trace:
-   brcmf_setup_wiphybands+0x212/0x780 [brcmfmac]
-   brcmf_cfg80211_attach+0xae2/0x11a0 [brcmfmac]
-   brcmf_attach+0x1fc/0x4b0 [brcmfmac]
-   ? __kmalloc+0x13c/0x1c0
-   brcmf_pcie_setup+0x99b/0xe00 [brcmfmac]
-   brcmf_fw_request_done+0x16a/0x1f0 [brcmfmac]
-   request_firmware_work_func+0x36/0x60
-   process_one_work+0x146/0x350
-   worker_thread+0x4a/0x3b0
-   kthread+0x102/0x140
-   ? process_one_work+0x350/0x350
-   ? kthread_bind+0x20/0x20
-   ret_from_fork+0x35/0x40
-  Code: 66 90 0f b7 07 55 48 89 e5 89 c2 88 47 02 88 47 03 66 81 e2 00 38
-	66 81 fa 00 18 74 6e 66 81 fa 00 20 74 39 66 81 fa 00 10 74 14 <0f>
-	0b 66 25 00 c0 74 20 66 3d 00 c0 75 20 c6 47 04 01 5d c3 66
-  ---[ end trace 550c46682415b26d ]---
-  brcmfmac: brcmf_construct_chaninfo: Ignoring unexpected firmware channel 50
-
-This patch adds the missing stuff to properly handle this.
-
-Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com>
-Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com>
-Reviewed-by: Franky Lin <franky.lin@broadcom.com>
-Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
----
- .../net/wireless/broadcom/brcm80211/brcmutil/d11.c | 34 +++++++++++++++++++++-
- .../broadcom/brcm80211/include/brcmu_wifi.h        |  2 ++
- 2 files changed, 35 insertions(+), 1 deletion(-)
-
---- a/drivers/net/wireless/broadcom/brcm80211/brcmutil/d11.c
-+++ b/drivers/net/wireless/broadcom/brcm80211/brcmutil/d11.c
-@@ -77,6 +77,8 @@ static u16 d11ac_bw(enum brcmu_chan_bw b
- 		return BRCMU_CHSPEC_D11AC_BW_40;
- 	case BRCMU_CHAN_BW_80:
- 		return BRCMU_CHSPEC_D11AC_BW_80;
-+	case BRCMU_CHAN_BW_160:
-+		return BRCMU_CHSPEC_D11AC_BW_160;
- 	default:
- 		WARN_ON(1);
- 	}
-@@ -190,8 +192,38 @@ static void brcmu_d11ac_decchspec(struct
- 			break;
- 		}
- 		break;
--	case BRCMU_CHSPEC_D11AC_BW_8080:
- 	case BRCMU_CHSPEC_D11AC_BW_160:
-+		switch (ch->sb) {
-+		case BRCMU_CHAN_SB_LLL:
-+			ch->control_ch_num -= CH_70MHZ_APART;
-+			break;
-+		case BRCMU_CHAN_SB_LLU:
-+			ch->control_ch_num -= CH_50MHZ_APART;
-+			break;
-+		case BRCMU_CHAN_SB_LUL:
-+			ch->control_ch_num -= CH_30MHZ_APART;
-+			break;
-+		case BRCMU_CHAN_SB_LUU:
-+			ch->control_ch_num -= CH_10MHZ_APART;
-+			break;
-+		case BRCMU_CHAN_SB_ULL:
-+			ch->control_ch_num += CH_10MHZ_APART;
-+			break;
-+		case BRCMU_CHAN_SB_ULU:
-+			ch->control_ch_num += CH_30MHZ_APART;
-+			break;
-+		case BRCMU_CHAN_SB_UUL:
-+			ch->control_ch_num += CH_50MHZ_APART;
-+			break;
-+		case BRCMU_CHAN_SB_UUU:
-+			ch->control_ch_num += CH_70MHZ_APART;
-+			break;
-+		default:
-+			WARN_ON_ONCE(1);
-+			break;
-+		}
-+		break;
-+	case BRCMU_CHSPEC_D11AC_BW_8080:
- 	default:
- 		WARN_ON_ONCE(1);
- 		break;
---- a/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h
-+++ b/drivers/net/wireless/broadcom/brcm80211/include/brcmu_wifi.h
-@@ -29,6 +29,8 @@
- #define CH_UPPER_SB			0x01
- #define CH_LOWER_SB			0x02
- #define CH_EWA_VALID			0x04
-+#define CH_70MHZ_APART			14
-+#define CH_50MHZ_APART			10
- #define CH_30MHZ_APART			6
- #define CH_20MHZ_APART			4
- #define CH_10MHZ_APART			2
diff --git a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
index f3da1df541..1a4a1ec348 100644
--- a/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
+++ b/package/kernel/mac80211/patches/brcm/320-v4.21-0002-brcmfmac-Remove-recursion-from-firmware-load-error-h.patch
@@ -68,29 +68,30 @@  Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
  	ret = brcmf_fw_complete_request(fw, fwctx);
 -	if (ret < 0)
 -		goto fail;
--
+ 
 -	do {
 -		if (++fwctx->curpos == fwctx->req->n_items) {
 -			ret = 0;
 -			goto done;
 -		}
- 
+-
 -		ret = brcmf_fw_request_next_item(fwctx, false);
 -	} while (ret == -EAGAIN);
 -
 -	return;
-+	while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
-+		cur = &fwctx->req->items[fwctx->curpos];
-+		request_firmware(&fw, cur->path, fwctx->dev);
-+		ret = brcmf_fw_complete_request(fw, ctx);
-+	}
- 
+-
 -fail:
 -	brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
 -		  dev_name(fwctx->dev), cur->path);
 -	brcmf_fw_free_request(fwctx->req);
 -	fwctx->req = NULL;
 -done:
++	while (ret == 0 && ++fwctx->curpos < fwctx->req->n_items) {
++		cur = &fwctx->req->items[fwctx->curpos];
++		request_firmware(&fw, cur->path, fwctx->dev);
++		ret = brcmf_fw_complete_request(fw, ctx);
++	}
++
 +	if (ret) {
 +		brcmf_dbg(TRACE, "failed err=%d: dev=%s, fw=%s\n", ret,
 +			  dev_name(fwctx->dev), cur->path);
diff --git a/package/kernel/mac80211/patches/build/005-revert-devcoredump.patch b/package/kernel/mac80211/patches/build/005-revert-devcoredump.patch
deleted file mode 100644
index 283f1bf023..0000000000
--- a/package/kernel/mac80211/patches/build/005-revert-devcoredump.patch
+++ /dev/null
@@ -1,8 +0,0 @@ 
---- a/compat/Makefile
-+++ b/compat/Makefile
-@@ -79,5 +79,3 @@ obj-$(CPTCFG_BPAUTO_BUILD_CORDIC) += cor
- compat-$(CPTCFG_BPAUTO_PUBLIC_KEY) += 
- compat-$(CPTCFG_BPAUTO_BUCKET_LOCKS) += lib-bucket_locks.o
- compat-$(CPTCFG_BPAUTO_PKCS7) += 
--skcipher-objs += crypto-skcipher.o
--obj-$(CPTCFG_BPAUTO_CRYPTO_SKCIPHER) += skcipher.o
diff --git a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
index 06636060f7..1d4bf12652 100644
--- a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
+++ b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch
@@ -1,6 +1,6 @@ 
 --- a/local-symbols
 +++ b/local-symbols
-@@ -396,43 +396,6 @@ USB_IPHETH=
+@@ -395,43 +395,6 @@ USB_IPHETH=
  USB_SIERRA_NET=
  USB_VL600=
  USB_NET_CH9200=
@@ -192,7 +192,7 @@ 
  	select BRCMUTIL
 --- a/Kconfig.local
 +++ b/Kconfig.local
-@@ -1192,117 +1192,6 @@ config BACKPORTED_USB_VL600
+@@ -1189,117 +1189,6 @@ config BACKPORTED_USB_VL600
  config BACKPORTED_USB_NET_CH9200
  	tristate
  	default USB_NET_CH9200
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 d238072b9a..18a3fb82ea 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
-@@ -305,6 +305,7 @@ RT2X00_LIB_FIRMWARE=
+@@ -304,6 +304,7 @@ RT2X00_LIB_FIRMWARE=
  RT2X00_LIB_CRYPTO=
  RT2X00_LIB_LEDS=
  RT2X00_LIB_DEBUGFS=
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 e0fe5a1b79..f7116eb9f7 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
-@@ -3787,6 +3787,12 @@ out:
+@@ -3791,6 +3791,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/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch b/package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch
deleted file mode 100644
index 7aa62858bd..0000000000
--- a/package/kernel/mac80211/patches/subsys/350-mac80211-fix-setting-IEEE80211_KEY_FLAG_RX_MGMT-for-.patch
+++ /dev/null
@@ -1,25 +0,0 @@ 
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 29 Sep 2018 15:55:44 +0200
-Subject: [PATCH] mac80211: fix setting IEEE80211_KEY_FLAG_RX_MGMT for AP mode
- keys
-
-key->sta is only valid after ieee80211_key_link, which is called later
-in this function. Because of that, the IEEE80211_KEY_FLAG_RX_MGMT is
-never set when management frame protection is enabled.
-
-Fixes: e548c49e6dc6b ("mac80211: add key flag for management keys")
-Cc: stable@vger.kernel.org
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/cfg.c
-+++ b/net/mac80211/cfg.c
-@@ -427,7 +427,7 @@ static int ieee80211_add_key(struct wiph
- 	case NL80211_IFTYPE_AP:
- 	case NL80211_IFTYPE_AP_VLAN:
- 		/* Keys without a station are used for TX only */
--		if (key->sta && test_sta_flag(key->sta, WLAN_STA_MFP))
-+		if (sta && test_sta_flag(sta, WLAN_STA_MFP))
- 			key->conf.flags |= IEEE80211_KEY_FLAG_RX_MGMT;
- 		break;
- 	case NL80211_IFTYPE_ADHOC:
diff --git a/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch b/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch
index 200e4fe38d..dc12290f4f 100644
--- a/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch
+++ b/package/kernel/mac80211/patches/subsys/351-mac80211-free-skb-fraglist-before-freeing-the-skb.patch
@@ -17,7 +17,7 @@  Signed-off-by: Sara Sharon <sara.sharon@intel.com>
 
 --- a/net/mac80211/status.c
 +++ b/net/mac80211/status.c
-@@ -561,6 +561,11 @@ static void ieee80211_report_used_skb(st
+@@ -558,6 +558,11 @@ static void ieee80211_report_used_skb(st
  	}
  
  	ieee80211_led_tx(local);
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 f4fc431f35..a0221c0d6c 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
@@ -21,7 +21,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -921,7 +921,7 @@ ieee80211_tx_h_fragment(struct ieee80211
+@@ -925,7 +925,7 @@ ieee80211_tx_h_fragment(struct ieee80211
  	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
  	struct ieee80211_hdr *hdr = (void *)skb->data;
  	int frag_threshold = tx->local->hw.wiphy->frag_threshold;
@@ -30,7 +30,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  	int fragnum;
  
  	/* no matter what happens, tx->skb moves to tx->skbs */
-@@ -942,8 +942,6 @@ ieee80211_tx_h_fragment(struct ieee80211
+@@ -946,8 +946,6 @@ ieee80211_tx_h_fragment(struct ieee80211
  	if (WARN_ON(info->flags & IEEE80211_TX_CTL_AMPDU))
  		return TX_DROP;
  
@@ -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;
-@@ -1174,6 +1172,8 @@ ieee80211_tx_prepare(struct ieee80211_su
+@@ -1178,6 +1176,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;
-@@ -3497,6 +3497,7 @@ begin:
+@@ -3501,6 +3501,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);
-@@ -3833,6 +3834,7 @@ ieee80211_build_data_template(struct iee
+@@ -3837,6 +3838,7 @@ ieee80211_build_data_template(struct iee
  	hdr = (void *)skb->data;
  	tx.sta = sta_info_get(sdata, hdr->addr1);
  	tx.skb = skb;
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 8183fb89b6..42274cbab1 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
@@ -96,7 +96,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  	struct rcu_head rcu_head;
 --- a/net/mac80211/status.c
 +++ b/net/mac80211/status.c
-@@ -658,9 +658,22 @@ void ieee80211_tx_monitor(struct ieee802
+@@ -655,9 +655,22 @@ void ieee80211_tx_monitor(struct ieee802
  	struct sk_buff *skb2;
  	struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
  	struct ieee80211_sub_if_data *sdata;
@@ -137,7 +137,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -1171,8 +1171,7 @@ ieee80211_tx_prepare(struct ieee80211_su
+@@ -1175,8 +1175,7 @@ ieee80211_tx_prepare(struct ieee80211_su
  	info->flags &= ~IEEE80211_TX_INTFL_NEED_TXPROCESSING;
  
  	hdr = (struct ieee80211_hdr *) skb->data;
@@ -147,7 +147,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  
  	if (likely(sta)) {
  		if (!IS_ERR(sta))
-@@ -2205,7 +2204,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
+@@ -2209,7 +2208,7 @@ netdev_tx_t ieee80211_monitor_start_xmit
  		goto fail;
  
  	hdr = (struct ieee80211_hdr *)(skb->data + len_rthdr);
@@ -156,7 +156,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  
  	if (skb->len < len_rthdr + hdrlen)
  		goto fail;
-@@ -2423,7 +2422,7 @@ static struct sk_buff *ieee80211_build_h
+@@ -2427,7 +2426,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;
@@ -165,7 +165,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  
  	if (IS_ERR(sta))
  		sta = NULL;
-@@ -2643,6 +2642,9 @@ static struct sk_buff *ieee80211_build_h
+@@ -2647,6 +2646,9 @@ static struct sk_buff *ieee80211_build_h
  		hdrlen += 2;
  	}
  
@@ -175,7 +175,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  	/*
  	 * Drop unicast frames to unauthorised stations unless they are
  	 * EAPOL frames from the local station.
-@@ -2723,6 +2725,7 @@ static struct sk_buff *ieee80211_build_h
+@@ -2727,6 +2729,7 @@ static struct sk_buff *ieee80211_build_h
  
  	skb_pull(skb, skip_header_bytes);
  	head_need = hdrlen + encaps_len + meshhdrlen - skb_headroom(skb);
@@ -183,7 +183,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  
  	/*
  	 * So we need to modify the skb header and hence need a copy of
-@@ -2755,6 +2758,9 @@ static struct sk_buff *ieee80211_build_h
+@@ -2759,6 +2762,9 @@ static struct sk_buff *ieee80211_build_h
  		memcpy(skb_push(skb, meshhdrlen), &mesh_hdr, meshhdrlen);
  #endif
  
@@ -193,7 +193,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  	if (ieee80211_is_data_qos(fc)) {
  		__le16 *qos_control;
  
-@@ -2930,6 +2936,9 @@ void ieee80211_check_fast_xmit(struct st
+@@ -2934,6 +2940,9 @@ void ieee80211_check_fast_xmit(struct st
  		fc |= cpu_to_le16(IEEE80211_STYPE_QOS_DATA);
  	}
  
@@ -203,7 +203,7 @@  Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
  	/* 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,
-@@ -3524,7 +3533,7 @@ begin:
+@@ -3528,7 +3537,7 @@ begin:
  
  		if (tx.key &&
  		    (tx.key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV))
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 54bb114f65..fe0b98c3ac 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
-@@ -3184,6 +3184,7 @@ static bool ieee80211_amsdu_aggregate(st
+@@ -3188,6 +3188,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;
-@@ -3215,12 +3216,13 @@ static bool ieee80211_amsdu_aggregate(st
+@@ -3219,12 +3220,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)
@@ -46,7 +46,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
  	nfrags = 1 + skb_shinfo(skb)->nr_frags;
  	nfrags += 1 + skb_shinfo(head)->nr_frags;
-@@ -3278,6 +3280,9 @@ out_recalc:
+@@ -3282,6 +3284,9 @@ out_recalc:
  		fq_recalc_backlog(fq, tin, flow);
  	}
  out:
diff --git a/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch b/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch
index a4176363bb..ee2059f9c8 100644
--- a/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch
+++ b/package/kernel/mac80211/patches/subsys/379-mac80211-ignore-tx-status-for-PS-stations-in-ieee802.patch
@@ -15,7 +15,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/mac80211/status.c
 +++ b/net/mac80211/status.c
-@@ -987,6 +987,8 @@ void ieee80211_tx_status_ext(struct ieee
+@@ -984,6 +984,8 @@ void ieee80211_tx_status_ext(struct ieee
  			/* 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;
diff --git a/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch b/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch
index 57f4ca64a5..4257365a79 100644
--- a/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch
+++ b/package/kernel/mac80211/patches/subsys/380-mac80211-fix-reordering-of-buffered-broadcast-packet.patch
@@ -15,7 +15,7 @@  Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/net/mac80211/tx.c
 +++ b/net/mac80211/tx.c
-@@ -435,8 +435,8 @@ ieee80211_tx_h_multicast_ps_buf(struct i
+@@ -439,8 +439,8 @@ ieee80211_tx_h_multicast_ps_buf(struct i
  	if (ieee80211_hw_check(&tx->local->hw, QUEUE_CONTROL))
  		info->hw_queue = tx->sdata->vif.cab_queue;
  
diff --git a/package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch b/package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch
deleted file mode 100644
index e959bc91ab..0000000000
--- a/package/kernel/mac80211/patches/subsys/394-mac80211-allocate-TXQs-for-active-monitor-interfaces.patch
+++ /dev/null
@@ -1,26 +0,0 @@ 
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 22 Sep 2018 15:05:59 +0200
-Subject: [PATCH] mac80211: allocate TXQs for active monitor interfaces
-
-Monitor mode interfaces with the active flag are passed down to the driver.
-Drivers using TXQ expect that all interfaces have allocated TXQs before
-they get added.
-
-Fixes: 79af1f866193d ("mac80211: avoid allocating TXQs that won't be used")
-Cc: stable@vger.kernel.org
-Reported-by: Catrinel Catrinescu <cc@80211.de>
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/iface.c
-+++ b/net/mac80211/iface.c
-@@ -1834,7 +1834,8 @@ int ieee80211_if_add(struct ieee80211_lo
- 
- 		if (local->ops->wake_tx_queue &&
- 		    type != NL80211_IFTYPE_AP_VLAN &&
--		    type != NL80211_IFTYPE_MONITOR)
-+		    (type != NL80211_IFTYPE_MONITOR ||
-+		     (params->flags & MONITOR_FLAG_ACTIVE)))
- 			txq_size += sizeof(struct txq_info) +
- 				    local->hw.txq_data_size;
-