mac80211: Update to version 5.2.8-1
authorHauke Mehrtens <hauke@hauke-m.de>
Thu, 15 Aug 2019 09:30:44 +0000 (11:30 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Sat, 17 Aug 2019 11:39:14 +0000 (13:39 +0200)
This contains multiple fixes from the upstream kernel.
The removed patch was merged upstream.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
18 files changed:
package/kernel/mac80211/Makefile
package/kernel/mac80211/patches/ath/350-ath9k_hw-reset-AHB-WMAC-interface-on-AR91xx.patch
package/kernel/mac80211/patches/ath/351-ath9k_hw-issue-external-reset-for-QCA955x.patch
package/kernel/mac80211/patches/ath/356-Revert-ath9k-interpret-requested-txpower-in-EIRP-dom.patch
package/kernel/mac80211/patches/ath/365-ath9k-adjust-tx-power-reduction-for-US-regulatory-do.patch
package/kernel/mac80211/patches/ath/510-ath9k_intr_mitigation_tweak.patch
package/kernel/mac80211/patches/ath/513-ath9k_add_pci_ids.patch
package/kernel/mac80211/patches/ath/542-ath9k_debugfs_diag.patch
package/kernel/mac80211/patches/ath/544-ath9k-ar933x-usb-hang-workaround.patch
package/kernel/mac80211/patches/ath/930-ath10k_add_tpt_led_trigger.patch
package/kernel/mac80211/patches/ath/972-ath10k_fix-crash-due-to-wrong-handling-of-peer_bw_rxnss_override-parameter.patch
package/kernel/mac80211/patches/ath/973-ath10k_fix-band_center_freq-handling-for-VHT160-in-recent-firmwares.patch
package/kernel/mac80211/patches/ath/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch
package/kernel/mac80211/patches/ath/975-ath10k-use-tpt-trigger-by-default.patch
package/kernel/mac80211/patches/ath/979-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch [deleted file]
package/kernel/mac80211/patches/ath/980-ath10k-fix-max-antenna-gain-unit.patch
package/kernel/mac80211/patches/ath/981-ath10k-adjust-tx-power-reduction-for-US-regulatory-d.patch
package/kernel/mac80211/patches/subsys/351-mac80211-add-TX_NEEDS_ALIGNED4_SKBS-hw-flag.patch

index 3ae39888e139d273579a4febba70cac286b26e6d..403ac5bd5ec73a9de90895e0d469732106cefb6c 100644 (file)
@@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mac80211
 
-PKG_VERSION:=5.2-rc7-1
+PKG_VERSION:=5.2.8-1
 PKG_RELEASE:=1
-PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.2-rc7/
-PKG_HASH:=3179a4ec398bd6366a4fd8a44b311a57f8da87ad10720baf7c17aef9c8ec2983
+PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.2.8/
+PKG_HASH:=d1ac22a9b7536f730a992292fb29c70355ffc42ea9f58610010ea196dc69b2e3
 
 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz
 PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION)
index cadbf6809cfd04a43ebe2758d2906085b7d57a93..d648a3a3e564a336f8a170b4de163746a82405ef 100644 (file)
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1421,8 +1421,12 @@ static bool ath9k_hw_set_reset(struct at
+@@ -1435,8 +1435,12 @@ static bool ath9k_hw_set_reset(struct at
        if (!AR_SREV_9100(ah))
                REG_WRITE(ah, AR_RC, 0);
  
index ac9e112f51a9f534868b08c103d626f6a2783248..5f265b84c26e0c3aaa83a7387b763211e47a838f 100644 (file)
@@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1298,39 +1298,56 @@ void ath9k_hw_get_delta_slope_vals(struc
+@@ -1312,39 +1312,56 @@ void ath9k_hw_get_delta_slope_vals(struc
        *coef_exponent = coef_exp - 16;
  }
  
@@ -94,7 +94,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        return true;
  }
  
-@@ -1383,24 +1400,24 @@ static bool ath9k_hw_set_reset(struct at
+@@ -1397,24 +1414,24 @@ static bool ath9k_hw_set_reset(struct at
                        rst_flags |= AR_RTC_RC_MAC_COLD;
        }
  
index 38b5c5130290466a580bccc300d21d864bb7fdfb..bbc388ec49493a328827681be85971106cb9222d 100644 (file)
@@ -8,7 +8,7 @@ This reverts commit 71f5137bf010c6faffab50c0ec15374c59c4a411.
 
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -2963,7 +2963,8 @@ void ath9k_hw_apply_txpower(struct ath_h
+@@ -2977,7 +2977,8 @@ void ath9k_hw_apply_txpower(struct ath_h
  {
        struct ath_regulatory *reg = ath9k_hw_regulatory(ah);
        struct ieee80211_channel *channel;
@@ -18,7 +18,7 @@ This reverts commit 71f5137bf010c6faffab50c0ec15374c59c4a411.
        u16 ctl = NO_CTL;
  
        if (!chan)
-@@ -2975,9 +2976,14 @@ void ath9k_hw_apply_txpower(struct ath_h
+@@ -2989,9 +2990,14 @@ void ath9k_hw_apply_txpower(struct ath_h
        channel = chan->chan;
        chan_pwr = min_t(int, channel->max_power * 2, MAX_RATE_POWER);
        new_pwr = min_t(int, chan_pwr, reg->power_limit);
index 4b458f74abdd0d8b80d23bf62904d49472ead2e8..0c3edc1260ff902f179eb0db624c39732ee62308 100644 (file)
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -2982,6 +2982,10 @@ void ath9k_hw_apply_txpower(struct ath_h
+@@ -2996,6 +2996,10 @@ void ath9k_hw_apply_txpower(struct ath_h
        if (ant_gain > max_gain)
                ant_reduction = ant_gain - max_gain;
  
index 356939a3542cba6d50b76a53da014db4a9b7b237..75b48b480e3cfd3119f68f87b4621b96216ae91d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -392,13 +392,8 @@ static void ath9k_hw_init_config(struct
+@@ -403,13 +403,8 @@ static void ath9k_hw_init_config(struct
  
        ah->config.rx_intr_mitigation = true;
  
index e536e60794bb3c07191a3db0c23b5d434584909c..113c35625f7975a8ddb637887c3464eeb9dff12a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -649,6 +649,7 @@ int ath9k_hw_init(struct ath_hw *ah)
+@@ -663,6 +663,7 @@ int ath9k_hw_init(struct ath_hw *ah)
  
        /* These are all the AR5008/AR9001/AR9002/AR9003 hardware family of chipsets */
        switch (ah->hw_version.devid) {
index e9ba4a9483378228eb15cb5b633845a2b44f4c05..b7633d26b11cfcc7f3c5adaca8484dc2d7f545be 100644 (file)
@@ -94,7 +94,7 @@
  struct ath_gen_timer *ath_gen_timer_alloc(struct ath_hw *ah,
 --- a/drivers/net/wireless/ath/ath9k/hw.c
 +++ b/drivers/net/wireless/ath/ath9k/hw.c
-@@ -1869,6 +1869,20 @@ u32 ath9k_hw_get_tsf_offset(struct times
+@@ -1883,6 +1883,20 @@ u32 ath9k_hw_get_tsf_offset(struct times
  }
  EXPORT_SYMBOL(ath9k_hw_get_tsf_offset);
  
  int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
                   struct ath9k_hw_cal_data *caldata, bool fastcc)
  {
-@@ -2077,6 +2091,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
+@@ -2091,6 +2105,7 @@ int ath9k_hw_reset(struct ath_hw *ah, st
                ar9003_hw_disable_phy_restart(ah);
  
        ath9k_hw_apply_gpio_override(ah);
index ba8f1e5d6102ef91288f6627d1ecbc3263f1669b..93eee34b648121c23ab6cee5e6317cb2d955a23a 100644 (file)
@@ -20,7 +20,7 @@
  /******************/
  /* Chip Revisions */
  /******************/
-@@ -1441,6 +1454,9 @@ static bool ath9k_hw_set_reset(struct at
+@@ -1455,6 +1468,9 @@ static bool ath9k_hw_set_reset(struct at
                udelay(50);
        }
  
@@ -30,7 +30,7 @@
        return true;
  }
  
-@@ -1540,6 +1556,9 @@ static bool ath9k_hw_chip_reset(struct a
+@@ -1554,6 +1570,9 @@ static bool ath9k_hw_chip_reset(struct a
                ar9003_hw_internal_regulator_apply(ah);
        ath9k_hw_init_pll(ah, chan);
  
@@ -40,7 +40,7 @@
        return true;
  }
  
-@@ -1847,8 +1866,14 @@ static int ath9k_hw_do_fastcc(struct ath
+@@ -1861,8 +1880,14 @@ static int ath9k_hw_do_fastcc(struct ath
        if (AR_SREV_9271(ah))
                ar9002_hw_load_ani_reg(ah, chan);
  
@@ -55,7 +55,7 @@
        return -EINVAL;
  }
  
-@@ -2102,6 +2127,9 @@ int ath9k_hw_reset(struct ath_hw *ah, st
+@@ -2116,6 +2141,9 @@ int ath9k_hw_reset(struct ath_hw *ah, st
                ath9k_hw_set_radar_params(ah);
        }
  
index 352a49c4c3fd359f6ecf08c7b00effafa1dc6f87..0170f52ed00aa206dec59e07d19dfcf4b0acbe3e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -8483,6 +8483,21 @@ static int ath10k_mac_init_rd(struct ath
+@@ -8491,6 +8491,21 @@ static int ath10k_mac_init_rd(struct ath
        return 0;
  }
  
@@ -22,7 +22,7 @@
  int ath10k_mac_register(struct ath10k *ar)
  {
        static const u32 cipher_suites[] = {
-@@ -8806,6 +8821,12 @@ int ath10k_mac_register(struct ath10k *a
+@@ -8814,6 +8829,12 @@ int ath10k_mac_register(struct ath10k *a
  
        ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
  
index df4223fcb8e821b16c11fe93d65a8de48e15f0e1..47b8af208a66ba8a2cc6adae4febb46dec46b417 100644 (file)
@@ -23,7 +23,7 @@ v9: use SM/MS macros from code.h to simplify shift/mask handling
  3 files changed, 52 insertions(+), 23 deletions(-)
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -2475,7 +2475,7 @@ static void ath10k_peer_assoc_h_vht(stru
+@@ -2479,7 +2479,7 @@ static void ath10k_peer_assoc_h_vht(stru
        const u16 *vht_mcs_mask;
        u8 ampdu_factor;
        u8 max_nss, vht_mcs;
@@ -32,7 +32,7 @@ v9: use SM/MS macros from code.h to simplify shift/mask handling
  
        if (WARN_ON(ath10k_mac_vif_chan(vif, &def)))
                return;
-@@ -2535,23 +2535,45 @@ static void ath10k_peer_assoc_h_vht(stru
+@@ -2539,23 +2539,45 @@ static void ath10k_peer_assoc_h_vht(stru
                __le16_to_cpu(vht_cap->vht_mcs.tx_highest);
        arg->peer_vht_rates.tx_mcs_set = ath10k_peer_assoc_h_vht_limit(
                __le16_to_cpu(vht_cap->vht_mcs.tx_mcs_map), vht_mcs_mask);
@@ -92,7 +92,7 @@ v9: use SM/MS macros from code.h to simplify shift/mask handling
  }
  
  static void ath10k_peer_assoc_h_qos(struct ath10k *ar,
-@@ -2703,9 +2725,9 @@ static int ath10k_peer_assoc_prepare(str
+@@ -2707,9 +2729,9 @@ static int ath10k_peer_assoc_prepare(str
        ath10k_peer_assoc_h_crypto(ar, vif, sta, arg);
        ath10k_peer_assoc_h_rates(ar, vif, sta, arg);
        ath10k_peer_assoc_h_ht(ar, vif, sta, arg);
@@ -121,7 +121,7 @@ v9: use SM/MS macros from code.h to simplify shift/mask handling
  static int
 --- a/drivers/net/wireless/ath/ath10k/wmi.h
 +++ b/drivers/net/wireless/ath/ath10k/wmi.h
-@@ -6468,7 +6468,19 @@ struct wmi_10_2_peer_assoc_complete_cmd
+@@ -6469,7 +6469,19 @@ struct wmi_10_2_peer_assoc_complete_cmd
        __le32 info0; /* WMI_PEER_ASSOC_INFO0_ */
  } __packed;
  
index 2863e4b4b6ad374826b87b67d84eae47d2883749..719f98ecc3c1963576b6555d23955e94b03f27f1 100644 (file)
@@ -13,7 +13,7 @@ v2: fix trailing whitespace issue and fix some typos within the commit note
  2 files changed, 8 insertions(+), 10 deletions(-)
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -4533,13 +4533,6 @@ static struct ieee80211_sta_vht_cap ath1
+@@ -4537,13 +4537,6 @@ static struct ieee80211_sta_vht_cap ath1
                vht_cap.cap |= val;
        }
  
index 1fd255b121428fb87324877b718f55d4ac4cf605..bb80564ec70bc9794f070e74a9f46ddfc72a3bc5 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
-@@ -4309,6 +4309,8 @@ static const struct wmi_ops wmi_tlv_ops
+@@ -4311,6 +4311,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,
index 60801243fb318250b59cc6ff755b2622aab3b5cb..6ff81d7151509e3ee48be395344516e951e3d0fd 100644 (file)
@@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin <dev@kresin.me>
        if (ret)
 --- a/drivers/net/wireless/ath/ath10k/mac.c
 +++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -8838,7 +8838,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -8846,7 +8846,7 @@ int ath10k_mac_register(struct ath10k *a
        ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
  
  #ifdef CPTCFG_MAC80211_LEDS
diff --git a/package/kernel/mac80211/patches/ath/979-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch b/package/kernel/mac80211/patches/ath/979-ath10k-fix-incorrect-multicast-broadcast-rate-settin.patch
deleted file mode 100644 (file)
index 0c98be2..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From: Pradeep kumar Chitrapu <pradeepc@codeaurora.org>
-Date: Mon, 10 Dec 2018 20:56:11 -0800
-Subject: ath10k: fix incorrect multicast/broadcast rate setting
-
-Invalid rate code is sent to firmware when multicast rate value of 0 is
-sent to driver indicating disabled case, causing broken mesh path.
-so fix that.
-
-Tested on QCA9984 with firmware 10.4-3.6.1-00827
-
-Fixes: cd93b83ad92 ("ath10k: support for multicast rate control")
-Co-developed-by: Zhi Chen <zhichen@codeaurora.org>
-Signed-off-by: Zhi Chen <zhichen@codeaurora.org>
-Signed-off-by: Pradeep Kumar Chitrapu <pradeepc@codeaurora.org>
-
-Origin: other, https://patchwork.kernel.org/patch/10723033/
-
---- a/drivers/net/wireless/ath/ath10k/mac.c
-+++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -5604,8 +5604,8 @@ static void ath10k_bss_info_changed(stru
-       struct cfg80211_chan_def def;
-       u32 vdev_param, pdev_param, slottime, preamble;
-       u16 bitrate, hw_value;
--      u8 rate, basic_rate_idx;
--      int rateidx, ret = 0, hw_rate_code;
-+      u8 rate, basic_rate_idx, rateidx;
-+      int ret = 0, hw_rate_code, mcast_rate;
-       enum nl80211_band band;
-       const struct ieee80211_supported_band *sband;
-@@ -5792,7 +5792,11 @@ static void ath10k_bss_info_changed(stru
-       if (changed & BSS_CHANGED_MCAST_RATE &&
-           !ath10k_mac_vif_chan(arvif->vif, &def)) {
-               band = def.chan->band;
--              rateidx = vif->bss_conf.mcast_rate[band] - 1;
-+              mcast_rate = vif->bss_conf.mcast_rate[band];
-+              if (mcast_rate > 0)
-+                      rateidx = mcast_rate - 1;
-+              else
-+                      rateidx = ffs(vif->bss_conf.basic_rates) - 1;
-               if (ar->phy_capability & WHAL_WLAN_11A_CAPABILITY)
-                       rateidx += ATH10K_MAC_FIRST_OFDM_RATE_IDX;
index 49f60577991cb37525ab5a956d7edc515b788264..9c729e70f97683bcec0b928cf8f5dfae604ec41d 100644 (file)
@@ -38,7 +38,7 @@ Forwarded: https://patchwork.kernel.org/patch/10986723/
  
        if (arvif->vdev_type == WMI_VDEV_TYPE_AP) {
                arg.ssid = arvif->u.ap.ssid;
-@@ -3128,7 +3128,7 @@ static int ath10k_update_channel_list(st
+@@ -3132,7 +3132,7 @@ static int ath10k_update_channel_list(st
                        ch->min_power = 0;
                        ch->max_power = channel->max_power * 2;
                        ch->max_reg_power = channel->max_reg_power * 2;
index bea5eaa7aeb7185e1af23d1487dc0f0d4e233272..3c5386349e0e4042709afe59c5cfd53208a554d0 100644 (file)
@@ -89,7 +89,7 @@ Forwarded: no
  
        if (arvif->vdev_type == WMI_VDEV_TYPE_AP) {
                arg.ssid = arvif->u.ap.ssid;
-@@ -3128,7 +3164,8 @@ static int ath10k_update_channel_list(st
+@@ -3132,7 +3168,8 @@ static int ath10k_update_channel_list(st
                        ch->min_power = 0;
                        ch->max_power = channel->max_power * 2;
                        ch->max_reg_power = channel->max_reg_power * 2;
index 8d9b6e7de9db9cd6e0ccf586cdc4a8aac5b7fa40..fe113958d94b5eb17c8a4de8862946eeb712beec 100644 (file)
@@ -81,7 +81,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
   * mac80211 is capable of taking advantage of many hardware
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
-@@ -1877,6 +1877,10 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -1876,6 +1876,10 @@ int ieee80211_if_add(struct ieee80211_lo
                                        + 8 /* rfc1042/bridge tunnel */
                                        - ETH_HLEN /* ethernet hard_header_len */
                                        + IEEE80211_ENCRYPT_HEADROOM;