mac80211: Update to version 5.10.16-1
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 14 Feb 2021 18:06:45 +0000 (19:06 +0100)
committerHauke Mehrtens <hauke@hauke-m.de>
Mon, 15 Feb 2021 21:29:42 +0000 (22:29 +0100)
The removed patches were applied upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
12 files changed:
package/kernel/mac80211/Makefile
package/kernel/mac80211/patches/ath/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.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/313-mac80211-fix-encryption-key-selection-for-802.3-xmit.patch [deleted file]
package/kernel/mac80211/patches/subsys/314-mac80211-fix-fast-rx-encryption-check.patch [deleted file]
package/kernel/mac80211/patches/subsys/315-mac80211-add-rx-decapsulation-offload-support.patch
package/kernel/mac80211/patches/subsys/316-mac80211-fix-a-mistake-check-for-rx_stats-update.patch [deleted file]
package/kernel/mac80211/patches/subsys/336-mac80211-do-not-drop-tx-nulldata-packets-on-encrypte.patch [deleted file]
package/kernel/mac80211/patches/subsys/353-mac80211-fix-station-rate-table-updates-on-assoc.patch [deleted file]
package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch

index 06fe948fa2ad0fb6d3e2fbfeb8aa308afeb209b3..f6ad06452f44906cff25701d181269edb6da553f 100644 (file)
@@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=5.10-rc6-1
+PKG_VERSION:=5.10.16-1
 PKG_RELEASE:=1
-PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.10-rc6/
-PKG_HASH:=24c1e84dc1e7bb52d4f67ce481c242f29212a4ceb7833af30e3c279a3f710832
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.10.16/
+PKG_HASH:=12856db780c5023edc47e2d18486eb3346bb7c82f1f2fc48deb3b163142f7d2d
 
 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
index 403d1e5035b451e6773f82ac222c09920ea31ee9..ab7cb669bb0f443e53cb8ae4ae407462cb084b6e 100644 (file)
@@ -456,7 +456,7 @@ v13:
  {
 --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c
 +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c
-@@ -4583,6 +4583,8 @@ static const struct wmi_ops wmi_tlv_ops
+@@ -4585,6 +4585,8 @@ static const struct wmi_ops wmi_tlv_ops
        .gen_echo = ath10k_wmi_tlv_op_gen_echo,
        .gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf,
        .gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable,
@@ -467,7 +467,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
-@@ -7463,6 +7463,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
+@@ -7468,6 +7468,49 @@ ath10k_wmi_op_gen_peer_set_param(struct
        return skb;
  }
  
@@ -517,7 +517,7 @@ v13:
  static struct sk_buff *
  ath10k_wmi_op_gen_set_psmode(struct ath10k *ar, u32 vdev_id,
                             enum wmi_sta_ps_mode psmode)
-@@ -9151,6 +9194,9 @@ static const struct wmi_ops wmi_ops = {
+@@ -9156,6 +9199,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,
@@ -527,7 +527,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9221,6 +9267,8 @@ static const struct wmi_ops wmi_10_1_ops
+@@ -9226,6 +9272,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,
@@ -536,7 +536,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9293,6 +9341,8 @@ static const struct wmi_ops wmi_10_2_ops
+@@ -9298,6 +9346,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,
@@ -545,7 +545,7 @@ v13:
        /* .gen_pdev_enable_adaptive_cca not implemented */
  };
  
-@@ -9364,6 +9414,8 @@ static const struct wmi_ops wmi_10_2_4_o
+@@ -9369,6 +9419,8 @@ static const struct wmi_ops wmi_10_2_4_o
                ath10k_wmi_op_gen_pdev_enable_adaptive_cca,
        .get_vdev_subtype = ath10k_wmi_10_2_4_op_get_vdev_subtype,
        .gen_bb_timing = ath10k_wmi_10_2_4_op_gen_bb_timing,
@@ -554,7 +554,7 @@ v13:
        /* .gen_bcn_tmpl not implemented */
        /* .gen_prb_tmpl not implemented */
        /* .gen_p2p_go_bcn_ie not implemented */
-@@ -9445,6 +9497,8 @@ static const struct wmi_ops wmi_10_4_ops
+@@ -9450,6 +9502,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,
index b5112bd68217a987a63f46666f99020a4077db51..e640849e6ad45fc3c40ef2e4feb3243f352836c2 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
-@@ -2957,6 +2957,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip
+@@ -2958,6 +2958,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip
         * preference in cfg struct to apply this to
         * FW later while initializing the dongle
         */
index cf70644e1d7235872d2ebfd3c9b0fcf4c6bcf302..9e9f4bbf8fbbdc8f38741d0113472e5c0eb2a187 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
 +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
-@@ -2909,6 +2909,63 @@ done:
+@@ -2910,6 +2910,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)
  {
-@@ -3004,6 +3061,7 @@ static s32 brcmf_inform_single_bss(struc
+@@ -3005,6 +3062,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;
-@@ -3028,6 +3086,17 @@ static s32 brcmf_inform_single_bss(struc
+@@ -3029,6 +3087,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());
-@@ -5514,6 +5583,7 @@ static struct cfg80211_ops brcmf_cfg8021
+@@ -5515,6 +5584,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 b2465b0d7e19a21eb8e5fbce62b932547f022ecd..c1b1bc757f2d52a105180be4f141b4035ed68310 100644 (file)
@@ -1,6 +1,6 @@
 --- a/net/wireless/Kconfig
 +++ b/net/wireless/Kconfig
-@@ -187,7 +187,7 @@ config CFG80211_WEXT_EXPORT
+@@ -188,7 +188,7 @@ config CFG80211_WEXT_EXPORT
  endif # CFG80211
  
  config LIB80211
@@ -9,7 +9,7 @@
        depends on m
        default n
        help
-@@ -197,19 +197,19 @@ config LIB80211
+@@ -198,19 +198,19 @@ config LIB80211
          Drivers should select this themselves if needed.
  
  config LIB80211_CRYPT_WEP
diff --git a/package/kernel/mac80211/patches/subsys/313-mac80211-fix-encryption-key-selection-for-802.3-xmit.patch b/package/kernel/mac80211/patches/subsys/313-mac80211-fix-encryption-key-selection-for-802.3-xmit.patch
deleted file mode 100644 (file)
index 9c9be29..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Wed, 16 Dec 2020 21:23:24 +0100
-Subject: [PATCH] mac80211: fix encryption key selection for 802.3 xmit
-
-When using WEP, the default unicast key needs to be selected, instead of
-the STA PTK.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/tx.c
-+++ b/net/mac80211/tx.c
-@@ -4262,7 +4262,6 @@ netdev_tx_t ieee80211_subif_start_xmit_8
-       struct ethhdr *ehdr = (struct ethhdr *)skb->data;
-       struct ieee80211_key *key;
-       struct sta_info *sta;
--      bool offload = true;
-       if (unlikely(skb->len < ETH_HLEN)) {
-               kfree_skb(skb);
-@@ -4278,18 +4277,22 @@ netdev_tx_t ieee80211_subif_start_xmit_8
-       if (unlikely(IS_ERR_OR_NULL(sta) || !sta->uploaded ||
-           !test_sta_flag(sta, WLAN_STA_AUTHORIZED) ||
--              sdata->control_port_protocol == ehdr->h_proto))
--              offload = false;
--      else if ((key = rcu_dereference(sta->ptk[sta->ptk_idx])) &&
--               (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) ||
--                key->conf.cipher == WLAN_CIPHER_SUITE_TKIP))
--              offload = false;
--
--      if (offload)
--              ieee80211_8023_xmit(sdata, dev, sta, key, skb);
--      else
--              ieee80211_subif_start_xmit(skb, dev);
-+          sdata->control_port_protocol == ehdr->h_proto))
-+              goto skip_offload;
-+      key = rcu_dereference(sta->ptk[sta->ptk_idx]);
-+      if (!key)
-+              key = rcu_dereference(sdata->default_unicast_key);
-+
-+      if (key && (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) ||
-+                  key->conf.cipher == WLAN_CIPHER_SUITE_TKIP))
-+              goto skip_offload;
-+
-+      ieee80211_8023_xmit(sdata, dev, sta, key, skb);
-+      goto out;
-+
-+skip_offload:
-+      ieee80211_subif_start_xmit(skb, dev);
- out:
-       rcu_read_unlock();
diff --git a/package/kernel/mac80211/patches/subsys/314-mac80211-fix-fast-rx-encryption-check.patch b/package/kernel/mac80211/patches/subsys/314-mac80211-fix-fast-rx-encryption-check.patch
deleted file mode 100644 (file)
index 679960b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Wed, 16 Dec 2020 21:24:19 +0100
-Subject: [PATCH] mac80211: fix fast-rx encryption check
-
-When using WEP, the default unicast key needs to be selected, instead of
-the STA PTK.
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/rx.c
-+++ b/net/mac80211/rx.c
-@@ -4195,6 +4195,8 @@ void ieee80211_check_fast_rx(struct sta_
-       rcu_read_lock();
-       key = rcu_dereference(sta->ptk[sta->ptk_idx]);
-+      if (!key)
-+              key = rcu_dereference(sdata->default_unicast_key);
-       if (key) {
-               switch (key->conf.cipher) {
-               case WLAN_CIPHER_SUITE_TKIP:
index 6f7c7bd74a1dfeaccaedc949ba4f6d8c7a3d3941..02486372e968a2b716a54286a1f62c676ed8bb5f 100644 (file)
@@ -89,7 +89,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
  /**
 --- a/net/mac80211/debugfs.c
 +++ b/net/mac80211/debugfs.c
-@@ -409,6 +409,7 @@ static const char *hw_flag_names[] = {
+@@ -405,6 +405,7 @@ static const char *hw_flag_names[] = {
        FLAG(SUPPORTS_ONLY_HE_MULTI_BSSID),
        FLAG(AMPDU_KEYBORDER_SUPPORT),
        FLAG(SUPPORTS_TX_ENCAP_OFFLOAD),
diff --git a/package/kernel/mac80211/patches/subsys/316-mac80211-fix-a-mistake-check-for-rx_stats-update.patch b/package/kernel/mac80211/patches/subsys/316-mac80211-fix-a-mistake-check-for-rx_stats-update.patch
deleted file mode 100644 (file)
index 91a602b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From: Wen Gong <wgong@codeaurora.org>
-Date: Wed, 9 Dec 2020 11:06:29 +0800
-Subject: [PATCH] mac80211: fix a mistake check for rx_stats update
-
-It should be !is_multicast_ether_addr() in ieee80211_rx_h_sta_process()
-for the rx_stats update, below commit remove the !, this patch is to
-change it back.
-
-It lead the rx rate "iw wlan0 station dump" become invalid for some
-scenario when IEEE80211_HW_USES_RSS is set.
-
-Fixes: 09a740ce352e ("mac80211: receive and process S1G beacons")
-Signed-off-by: Wen Gong <wgong@codeaurora.org>
-Link: https://lore.kernel.org/r/1607483189-3891-1-git-send-email-wgong@codeaurora.org
-Signed-off-by: Johannes Berg <johannes.berg@intel.com>
----
-
---- a/net/mac80211/rx.c
-+++ b/net/mac80211/rx.c
-@@ -1758,7 +1758,7 @@ ieee80211_rx_h_sta_process(struct ieee80
-       } else if (rx->sdata->vif.type == NL80211_IFTYPE_OCB) {
-               sta->rx_stats.last_rx = jiffies;
-       } else if (!ieee80211_is_s1g_beacon(hdr->frame_control) &&
--                 is_multicast_ether_addr(hdr->addr1)) {
-+                 !is_multicast_ether_addr(hdr->addr1)) {
-               /*
-                * Mesh beacons will update last_rx when if they are found to
-                * match the current local configuration when processed.
diff --git a/package/kernel/mac80211/patches/subsys/336-mac80211-do-not-drop-tx-nulldata-packets-on-encrypte.patch b/package/kernel/mac80211/patches/subsys/336-mac80211-do-not-drop-tx-nulldata-packets-on-encrypte.patch
deleted file mode 100644 (file)
index d05217d..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Fri, 18 Dec 2020 20:08:06 +0100
-Subject: [PATCH] mac80211: do not drop tx nulldata packets on encrypted links
-
-ieee80211_tx_h_select_key drops any non-mgmt packets without a key when
-encryption is used. This is wrong for nulldata packets that can't be
-encrypted and are sent out for probing clients and indicating 4-address
-mode.
-
-Reported-by: Sebastian Gottschall <s.gottschall@dd-wrt.com>
-Fixes: a0761a301746 ("mac80211: drop data frames without key on encrypted links")
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/tx.c
-+++ b/net/mac80211/tx.c
-@@ -662,7 +662,7 @@ ieee80211_tx_h_select_key(struct ieee802
-               if (!skip_hw && tx->key &&
-                   tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)
-                       info->control.hw_key = &tx->key->conf;
--      } else if (!ieee80211_is_mgmt(hdr->frame_control) && tx->sta &&
-+      } else if (ieee80211_is_data_present(hdr->frame_control) && tx->sta &&
-                  test_sta_flag(tx->sta, WLAN_STA_USES_ENCRYPTION)) {
-               return TX_DROP;
-       }
diff --git a/package/kernel/mac80211/patches/subsys/353-mac80211-fix-station-rate-table-updates-on-assoc.patch b/package/kernel/mac80211/patches/subsys/353-mac80211-fix-station-rate-table-updates-on-assoc.patch
deleted file mode 100644 (file)
index 7df24fa..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-From: Felix Fietkau <nbd@nbd.name>
-Date: Mon, 1 Feb 2021 00:59:14 +0100
-Subject: [PATCH] mac80211: fix station rate table updates on assoc
-
-If the driver uses .sta_add, station entries are only uploaded after the sta
-is in assoc state. Fix early station rate table updates by deferring them
-until the sta has been uploaded
-
-Signed-off-by: Felix Fietkau <nbd@nbd.name>
----
-
---- a/net/mac80211/driver-ops.c
-+++ b/net/mac80211/driver-ops.c
-@@ -125,8 +125,11 @@ int drv_sta_state(struct ieee80211_local
-       } else if (old_state == IEEE80211_STA_AUTH &&
-                  new_state == IEEE80211_STA_ASSOC) {
-               ret = drv_sta_add(local, sdata, &sta->sta);
--              if (ret == 0)
-+              if (ret == 0) {
-                       sta->uploaded = true;
-+                      if (rcu_dereference(sta->sta.rates))
-+                              drv_sta_rate_tbl_update(local, sdata, &sta->sta);
-+              }
-       } else if (old_state == IEEE80211_STA_ASSOC &&
-                  new_state == IEEE80211_STA_AUTH) {
-               drv_sta_remove(local, sdata, &sta->sta);
---- a/net/mac80211/rate.c
-+++ b/net/mac80211/rate.c
-@@ -960,7 +960,8 @@ int rate_control_set_rates(struct ieee80
-       if (old)
-               kfree_rcu(old, rcu_head);
--      drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta);
-+      if (sta->uploaded)
-+              drv_sta_rate_tbl_update(hw_to_local(hw), sta->sdata, pubsta);
-       ieee80211_sta_set_expected_throughput(pubsta, sta_get_expected_throughput(sta));
index 48c70f8db2f2942d4a97228d1451d1b97e567cce..7cd0417363c31c35d8cf52339c8c263bd1d03943 100644 (file)
@@ -87,7 +87,7 @@
        CFG80211_TESTMODE_CMD(ieee80211_testmode_cmd)
 --- a/net/mac80211/ieee80211_i.h
 +++ b/net/mac80211/ieee80211_i.h
-@@ -1400,6 +1400,7 @@ struct ieee80211_local {
+@@ -1401,6 +1401,7 @@ struct ieee80211_local {
        int dynamic_ps_forced_timeout;
  
        int user_power_level; /* in dBm, for all interfaces */