mac80211: Update to version 5.8.18-1
authorHauke Mehrtens <hauke@hauke-m.de>
Mon, 30 Nov 2020 23:10:23 +0000 (00:10 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 16 Dec 2020 21:11:19 +0000 (22:11 +0100)
The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
19 files changed:
package/kernel/mac80211/Makefile
package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch
package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch
package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch
package/kernel/mac80211/patches/brcm/998-survey.patch
package/kernel/mac80211/patches/build/050-lib80211_option.patch
package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch
package/kernel/mac80211/patches/subsys/210-ap_scan.patch
package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch
package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch
package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch [deleted file]
package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch
package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch
package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch
package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch
package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch
package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch [deleted file]
package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch [deleted file]
package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch

index 8448350acf5ee0d17bfb64ef042d8993dee16aab..396b9c4bb8c77d8873b3b17a8d09209a9cf0d71e 100644 (file)
@@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=5.8-1
-PKG_RELEASE:=2
-PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.8/
-PKG_HASH:=19b4174d89bf11ee221458e11f1e8dace26558498774b823051156f522d2036b
+PKG_VERSION:=5.8.18-1
+PKG_RELEASE:=1
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.8.18/
+PKG_HASH:=f04a8172423c6a945fc7d9844b04f33fda9ae574e552f8f18ee3bdfcfb494563
 
 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
index 89e26af763f33790a6131788ab45687ebe41932b..020e2bbab51b88446b3785b937f1bd05a6de4948 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/wireless/reg.c
 +++ b/net/wireless/reg.c
-@@ -3042,6 +3042,8 @@ void regulatory_hint_country_ie(struct w
+@@ -3045,6 +3045,8 @@ void regulatory_hint_country_ie(struct w
        enum environment_cap env = ENVIRON_ANY;
        struct regulatory_request *request = NULL, *lr;
  
@@ -9,7 +9,7 @@
        /* IE len must be evenly divisible by 2 */
        if (country_ie_len & 0x01)
                return;
-@@ -3293,6 +3295,7 @@ static bool is_wiphy_all_set_reg_flag(en
+@@ -3296,6 +3298,7 @@ static bool is_wiphy_all_set_reg_flag(en
  
  void regulatory_hint_disconnect(void)
  {
index 069aab82497c5222c9bc72a4b7f0cc77449f0764..4e79111377fc037d15137503e57ca60732e15410 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -712,8 +712,36 @@ static struct wireless_dev *brcmf_cfg802
+@@ -714,8 +714,36 @@ static struct wireless_dev *brcmf_cfg802
        struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
        struct brcmf_pub *drvr = cfg->pub;
        struct wireless_dev *wdev;
index 8a20ae133a969a70d1b64c8d540d5d000b0040d4..91bf464ede55ce01e3202d997aa413b2736e476e 100644 (file)
@@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
 
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -2953,6 +2953,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip
+@@ -2955,6 +2955,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip
         * preference in cfg struct to apply this to
         * FW later while initializing the dongle
         */
index bcab2e3f3ce780de3ba7536739e80614b367ed4f..7feca97e9fed687a02e7ee67e0c69343df1952b9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -2905,6 +2905,63 @@ done:
+@@ -2907,6 +2907,63 @@ done:
  }
  
  static int
@@ -64,7 +64,7 @@
  brcmf_cfg80211_dump_station(struct wiphy *wiphy, struct net_device *ndev,
                            int idx, u8 *mac, struct station_info *sinfo)
  {
-@@ -2994,6 +3051,7 @@ static s32 brcmf_inform_single_bss(struc
+@@ -3002,6 +3059,7 @@ static s32 brcmf_inform_single_bss(struc
        struct brcmu_chan ch;
        u16 channel;
        u32 freq;
@@ -72,7 +72,7 @@
        u16 notify_capability;
        u16 notify_interval;
        u8 *notify_ie;
-@@ -3018,6 +3076,17 @@ static s32 brcmf_inform_single_bss(struc
+@@ -3026,6 +3084,17 @@ static s32 brcmf_inform_single_bss(struc
                band = NL80211_BAND_5GHZ;
  
        freq = ieee80211_channel_to_frequency(channel, band);
@@ -90,7 +90,7 @@
        bss_data.chan = ieee80211_get_channel(wiphy, freq);
        bss_data.scan_width = NL80211_BSS_CHAN_WIDTH_20;
        bss_data.boottime_ns = ktime_to_ns(ktime_get_boottime());
-@@ -5470,6 +5539,7 @@ static struct cfg80211_ops brcmf_cfg8021
+@@ -5478,6 +5547,7 @@ static struct cfg80211_ops brcmf_cfg8021
        .leave_ibss = brcmf_cfg80211_leave_ibss,
        .get_station = brcmf_cfg80211_get_station,
        .dump_station = brcmf_cfg80211_dump_station,
index c6174449c6620b051d44b02d283fa3b7871f5727..b2465b0d7e19a21eb8e5fbce62b932547f022ecd 100644 (file)
@@ -9,7 +9,7 @@
        depends on m
        default n
        help
-@@ -197,18 +197,18 @@ config LIB80211
+@@ -197,19 +197,19 @@ config LIB80211
          Drivers should select this themselves if needed.
  
  config LIB80211_CRYPT_WEP
@@ -22,6 +22,7 @@
 -      tristate
 +      tristate "lib80211 CCMP support"
        depends on m
+       depends on CRYPTO
        depends on CRYPTO_AES
        depends on CRYPTO_CCM
  
index e56055caff7ebe4859d7457f03115bbdc6dcc1e7..2333ca2dad0e322f170248ccc93c8853ae939991 100644 (file)
@@ -2,7 +2,7 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnects
 
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -1197,7 +1197,6 @@ static int ieee80211_stop_ap(struct wiph
+@@ -1198,7 +1198,6 @@ static int ieee80211_stop_ap(struct wiph
        sdata->vif.bss_conf.ftmr_params = NULL;
  
        __sta_info_flush(sdata, true);
index 8ccab8cf66cf9d65f456418a62a8f0877303dcc5..fccb1ebffabff4fdac083064a2c3aa6edf960806 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -2345,7 +2345,7 @@ static int ieee80211_scan(struct wiphy *
+@@ -2346,7 +2346,7 @@ static int ieee80211_scan(struct wiphy *
                 * the  frames sent while scanning on other channel will be
                 * lost)
                 */
index bcdfa22fffd434cf4d8e9b522b16c673840f4db3..cb70670e52885100031349f93b12660771e4fce8 100644 (file)
@@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata,
 --- a/net/mac80211/status.c
 +++ b/net/mac80211/status.c
-@@ -843,6 +843,11 @@ void ieee80211_tx_monitor(struct ieee802
+@@ -846,6 +846,11 @@ void ieee80211_tx_monitor(struct ieee802
        struct net_device *prev_dev = NULL;
        int rtap_len;
  
index 1bcb41461efa044b0f49ef4c2dbb3cd9640b88cc..802d57497cc9ac1a44e691b434606e90b96e1c15 100644 (file)
@@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        struct ieee80211_sub_if_data *sdata;
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -2578,8 +2578,8 @@ static void ieee80211_deliver_skb_to_loc
+@@ -2579,8 +2579,8 @@ static void ieee80211_deliver_skb_to_loc
                memset(skb->cb, 0, sizeof(skb->cb));
  
                /* deliver to local stack */
@@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                else
                        netif_receive_skb(skb);
        }
-@@ -3869,7 +3869,6 @@ void ieee80211_release_reorder_timeout(s
+@@ -3870,7 +3870,6 @@ void ieee80211_release_reorder_timeout(s
                /* This is OK -- must be QoS data frame */
                .security_idx = tid,
                .seqno_idx = tid,
@@ -77,7 +77,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        };
        struct tid_ampdu_rx *tid_agg_rx;
  
-@@ -4479,8 +4478,8 @@ static bool ieee80211_invoke_fast_rx(str
+@@ -4480,8 +4479,8 @@ static bool ieee80211_invoke_fast_rx(str
        /* deliver to local stack */
        skb->protocol = eth_type_trans(skb, fast_rx->dev);
        memset(skb->cb, 0, sizeof(skb->cb));
@@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        else
                netif_receive_skb(skb);
  
-@@ -4547,7 +4546,7 @@ static bool ieee80211_prepare_and_rx_han
+@@ -4548,7 +4547,7 @@ static bool ieee80211_prepare_and_rx_han
  static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw,
                                         struct ieee80211_sta *pubsta,
                                         struct sk_buff *skb,
@@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  {
        struct ieee80211_local *local = hw_to_local(hw);
        struct ieee80211_sub_if_data *sdata;
-@@ -4562,7 +4561,7 @@ static void __ieee80211_rx_handle_packet
+@@ -4563,7 +4562,7 @@ static void __ieee80211_rx_handle_packet
        memset(&rx, 0, sizeof(rx));
        rx.skb = skb;
        rx.local = local;
@@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
        if (ieee80211_is_data(fc) || ieee80211_is_mgmt(fc))
                I802_DEBUG_INC(local->dot11ReceivedFragmentCount);
-@@ -4670,8 +4669,8 @@ static void __ieee80211_rx_handle_packet
+@@ -4671,8 +4670,8 @@ static void __ieee80211_rx_handle_packet
   * This is the receive path handler. It is called by a low level driver when an
   * 802.11 MPDU is received from the hardware.
   */
@@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  {
        struct ieee80211_local *local = hw_to_local(hw);
        struct ieee80211_rate *rate = NULL;
-@@ -4763,36 +4762,53 @@ void ieee80211_rx_napi(struct ieee80211_
+@@ -4764,36 +4763,53 @@ void ieee80211_rx_napi(struct ieee80211_
        status->rx_flags = 0;
  
        /*
diff --git a/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch b/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch
deleted file mode 100644 (file)
index 62f2419..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 8 Aug 2020 19:20:02 +0200
-Subject: [PATCH] mac80211: reduce packet loss event false positives
-
-When running a large number of packets per second with a high data rate
-and long A-MPDUs, the packet loss threshold can be reached very quickly
-when the link conditions change. This frequently shows up as spurious
-disconnects.
-Mitigate false positives by using a similar logic for regular stations
-as the one being used for TDLS, though with a more aggressive timeout.
-Packet loss events are only reported if no ACK was received for a second.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/sta_info.h
-+++ b/net/mac80211/sta_info.h
-@@ -522,7 +522,7 @@ struct ieee80211_sta_rx_stats {
-  * @status_stats.retry_failed: # of frames that failed after retry
-  * @status_stats.retry_count: # of retries attempted
-  * @status_stats.lost_packets: # of lost packets
-- * @status_stats.last_tdls_pkt_time: timestamp of last TDLS packet
-+ * @status_stats.last_pkt_time: timestamp of last ACKed packet
-  * @status_stats.msdu_retries: # of MSDU retries
-  * @status_stats.msdu_failed: # of failed MSDUs
-  * @status_stats.last_ack: last ack timestamp (jiffies)
-@@ -595,7 +595,7 @@ struct sta_info {
-               unsigned long filtered;
-               unsigned long retry_failed, retry_count;
-               unsigned int lost_packets;
--              unsigned long last_tdls_pkt_time;
-+              unsigned long last_pkt_time;
-               u64 msdu_retries[IEEE80211_NUM_TIDS + 1];
-               u64 msdu_failed[IEEE80211_NUM_TIDS + 1];
-               unsigned long last_ack;
---- a/net/mac80211/status.c
-+++ b/net/mac80211/status.c
-@@ -757,12 +757,16 @@ static void ieee80211_report_used_skb(st
-  *  - current throughput (higher value for higher tpt)?
-  */
- #define STA_LOST_PKT_THRESHOLD        50
-+#define STA_LOST_PKT_TIME     HZ              /* 1 sec since last ACK */
- #define STA_LOST_TDLS_PKT_THRESHOLD   10
- #define STA_LOST_TDLS_PKT_TIME                (10*HZ) /* 10secs since last ACK */
- static void ieee80211_lost_packet(struct sta_info *sta,
-                                 struct ieee80211_tx_info *info)
- {
-+      unsigned long pkt_time = STA_LOST_PKT_TIME;
-+      unsigned int pkt_thr = STA_LOST_PKT_THRESHOLD;
-+
-       /* If driver relies on its own algorithm for station kickout, skip
-        * mac80211 packet loss mechanism.
-        */
-@@ -775,21 +779,20 @@ static void ieee80211_lost_packet(struct
-               return;
-       sta->status_stats.lost_packets++;
--      if (!sta->sta.tdls &&
--          sta->status_stats.lost_packets < STA_LOST_PKT_THRESHOLD)
--              return;
-+      if (sta->sta.tdls) {
-+              pkt_time = STA_LOST_TDLS_PKT_TIME;
-+              pkt_thr = STA_LOST_PKT_THRESHOLD;
-+      }
-       /*
-        * If we're in TDLS mode, make sure that all STA_LOST_TDLS_PKT_THRESHOLD
-        * of the last packets were lost, and that no ACK was received in the
-        * last STA_LOST_TDLS_PKT_TIME ms, before triggering the CQM packet-loss
-        * mechanism.
-+       * For non-TDLS, use STA_LOST_PKT_THRESHOLD and STA_LOST_PKT_TIME
-        */
--      if (sta->sta.tdls &&
--          (sta->status_stats.lost_packets < STA_LOST_TDLS_PKT_THRESHOLD ||
--           time_before(jiffies,
--                       sta->status_stats.last_tdls_pkt_time +
--                       STA_LOST_TDLS_PKT_TIME)))
-+      if (sta->status_stats.lost_packets < pkt_thr ||
-+          !time_after(jiffies, sta->status_stats.last_pkt_time + pkt_time))
-               return;
-       cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr,
-@@ -1042,9 +1045,7 @@ static void __ieee80211_tx_status(struct
-                                       sta->status_stats.lost_packets = 0;
-                               /* Track when last TDLS packet was ACKed */
--                              if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
--                                      sta->status_stats.last_tdls_pkt_time =
--                                              jiffies;
-+                              sta->status_stats.last_pkt_time = jiffies;
-                       } else if (noack_success) {
-                               /* nothing to do here, do not account as lost */
-                       } else {
-@@ -1177,9 +1178,8 @@ void ieee80211_tx_status_ext(struct ieee
-                       if (sta->status_stats.lost_packets)
-                               sta->status_stats.lost_packets = 0;
--                      /* Track when last TDLS packet was ACKed */
--                      if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
--                              sta->status_stats.last_tdls_pkt_time = jiffies;
-+                      /* Track when last packet was ACKed */
-+                      sta->status_stats.last_pkt_time = jiffies;
-               } else if (test_sta_flag(sta, WLAN_STA_PS_STA)) {
-                       return;
-               } else if (noack_success) {
-@@ -1268,8 +1268,7 @@ void ieee80211_tx_status_8023(struct iee
-                       if (sta->status_stats.lost_packets)
-                               sta->status_stats.lost_packets = 0;
--                      if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH))
--                              sta->status_stats.last_tdls_pkt_time = jiffies;
-+                      sta->status_stats.last_pkt_time = jiffies;
-               } else {
-                       ieee80211_lost_packet(sta, info);
-               }
index 7f7c75db59f4a1574f2ec92345f93395b37a2c6c..a5df07e58d60955bf7cc37aecf4d8259ec2b5da4 100644 (file)
@@ -55,12 +55,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 +                      agg_shift = 3;
 +              else
 +                      agg_shift = 4;
--              return airtime;
++
 +              duration *= len;
 +              duration /= AVG_PKT_SIZE;
 +              duration /= 1024;
-+
+-              return airtime;
 +              return duration + (overhead >> agg_shift);
        }
  
index 8b664d6895a6ee32ccb768cbd54a8d9792d06ca5..e13723b160ecb50f95d317aaa8c29a0a00d34411 100644 (file)
@@ -67,12 +67,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        if (!acked && !noack_success)
 -                              sta->status_stats.retry_failed++;
 -                      sta->status_stats.retry_count += retry_count;
--
++                              sta->status_stats.msdu_failed[tid]++;
 -                      if (ieee80211_is_data_present(fc)) {
 -                              if (!acked && !noack_success)
 -                                      sta->status_stats.msdu_failed[tid]++;
-+                              sta->status_stats.msdu_failed[tid]++;
+-
 -                              sta->status_stats.msdu_retries[tid] +=
 -                                      retry_count;
 -                      }
index ed9efb2b0d4de41eda9f8bf6dec5e94fb42de600..f8287c53a7ac55b85a53de84e48b0f247f294835 100644 (file)
@@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -1811,9 +1811,6 @@ ieee80211_rx_h_sta_process(struct ieee80
+@@ -1812,9 +1812,6 @@ ieee80211_rx_h_sta_process(struct ieee80
                        sta->rx_stats.last_rate = sta_stats_encode_rate(status);
        }
  
@@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        sta->rx_stats.fragments++;
  
        u64_stats_update_begin(&rx->sta->rx_stats.syncp);
-@@ -4148,7 +4145,6 @@ void ieee80211_check_fast_rx(struct sta_
+@@ -4149,7 +4146,6 @@ void ieee80211_check_fast_rx(struct sta_
                        fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr2);
                        fastrx.expected_ds_bits = 0;
                } else {
@@ -130,7 +130,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
                        fastrx.da_offs = offsetof(struct ieee80211_hdr, addr1);
                        fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr3);
                        fastrx.expected_ds_bits =
-@@ -4378,11 +4374,6 @@ static bool ieee80211_invoke_fast_rx(str
+@@ -4379,11 +4375,6 @@ static bool ieee80211_invoke_fast_rx(str
            pskb_trim(skb, skb->len - fast_rx->icv_len))
                goto drop;
  
index b9069ef9b8ce939f281794c49f5b1e355f65a48a..8505ce56f69063a0e32417dc2b7235a7ee89ec8e 100644 (file)
@@ -129,7 +129,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  }
 --- a/net/mac80211/rx.c
 +++ b/net/mac80211/rx.c
-@@ -2896,7 +2896,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
+@@ -2897,7 +2897,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80
        fwd_hdr->frame_control &= ~cpu_to_le16(IEEE80211_FCTL_RETRY);
        info = IEEE80211_SKB_CB(fwd_skb);
        memset(info, 0, sizeof(*info));
index 5ad5ac6a783fdc8981a8451c4a0d83096b6f51f5..aa166c6431a2406bf10c1f2bd3c045e11a62313e 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /**
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -1693,6 +1693,7 @@ static int ieee80211_change_station(stru
+@@ -1694,6 +1694,7 @@ static int ieee80211_change_station(stru
  
                        rcu_assign_pointer(vlansdata->u.vlan.sta, sta);
                        __ieee80211_check_fast_rx_iface(vlansdata);
diff --git a/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch b/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch
deleted file mode 100644 (file)
index a799d96..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Thu, 17 Sep 2020 12:07:19 +0200
-Subject: [PATCH] mac80211: do not allow bigger VHT MPDUs than the hardware
- supports
-
-Limit maximum VHT MPDU size by local capability
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/vht.c
-+++ b/net/mac80211/vht.c
-@@ -168,10 +168,7 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
-       /* take some capabilities as-is */
-       cap_info = le32_to_cpu(vht_cap_ie->vht_cap_info);
-       vht_cap->cap = cap_info;
--      vht_cap->cap &= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 |
--                      IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 |
--                      IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 |
--                      IEEE80211_VHT_CAP_RXLDPC |
-+      vht_cap->cap &= IEEE80211_VHT_CAP_RXLDPC |
-                       IEEE80211_VHT_CAP_VHT_TXOP_PS |
-                       IEEE80211_VHT_CAP_HTC_VHT |
-                       IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK |
-@@ -180,6 +177,9 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru
-                       IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN |
-                       IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN;
-+      vht_cap->cap |= min_t(u32, cap_info & IEEE80211_VHT_CAP_MAX_MPDU_MASK,
-+                            own_cap.cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK);
-+
-       /* and some based on our own capabilities */
-       switch (own_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) {
-       case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ:
diff --git a/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch b/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch
deleted file mode 100644 (file)
index 3814401..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5981fe5b0529ba25d95f37d7faa434183ad618c5 Mon Sep 17 00:00:00 2001
-From: Johannes Berg <johannes.berg@intel.com>
-Date: Mon, 3 Aug 2020 11:02:10 +0200
-Subject: [PATCH] mac80211: fix misplaced while instead of if
-
-This never was intended to be a 'while' loop, it should've
-just been an 'if' instead of 'while'. Fix this.
-
-I noticed this while applying another patch from Ben that
-intended to fix a busy loop at this spot.
-
-Cc: stable@vger.kernel.org
-Fixes: b16798f5b907 ("mac80211: mark station unauthorized before key removal")
-Reported-by: Ben Greear <greearb@candelatech.com>
-Link: https://lore.kernel.org/r/20200803110209.253009ae41ff.I3522aad099392b31d5cf2dcca34cbac7e5832dde@changeid
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
----
- net/mac80211/sta_info.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/net/mac80211/sta_info.c
-+++ b/net/mac80211/sta_info.c
-@@ -1051,7 +1051,7 @@ static void __sta_info_destroy_part2(str
-       might_sleep();
-       lockdep_assert_held(&local->sta_mtx);
--      while (sta->sta_state == IEEE80211_STA_AUTHORIZED) {
-+      if (sta->sta_state == IEEE80211_STA_AUTHORIZED) {
-               ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC);
-               WARN_ON_ONCE(ret);
-       }
index 8db3a758a1b346afbf566cd566a15bddf3688a07..6abf3a126188c94204942f79f438cbf57747d3c1 100644 (file)
@@ -57,7 +57,7 @@
        __NL80211_ATTR_AFTER_LAST,
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -2611,6 +2611,19 @@ static int ieee80211_get_tx_power(struct
+@@ -2612,6 +2612,19 @@ static int ieee80211_get_tx_power(struct
        return 0;
  }
  
@@ -77,7 +77,7 @@
  static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
                                  const u8 *addr)
  {
-@@ -4041,6 +4054,7 @@ const struct cfg80211_ops mac80211_confi
+@@ -4042,6 +4055,7 @@ const struct cfg80211_ops mac80211_confi
        .set_wiphy_params = ieee80211_set_wiphy_params,
        .set_tx_power = ieee80211_set_tx_power,
        .get_tx_power = ieee80211_get_tx_power,
  };
  
  /* policy for the key attributes */
-@@ -3136,6 +3137,20 @@ static int nl80211_set_wiphy(struct sk_b
+@@ -3139,6 +3140,20 @@ static int nl80211_set_wiphy(struct sk_b
                if (result)
                        return result;
        }