From: Robert Marko Date: Tue, 9 Oct 2018 13:05:56 +0000 (+0200) Subject: ath10k-ct: Update to 29-09-2018 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=b1ab8fac5aad75e1396b7187b396dac0fc4623d0;p=openwrt%2Fstaging%2Fjow.git ath10k-ct: Update to 29-09-2018 Update ath10k-ct to be able to drop 210-ath10k-fix-recent-bandwidth-conversion-bug.patch as its upstream. b9989fbd5d6e ath10k-ct: Add upstream patch to fix peer rate reporting. ac9224344dbf ath10k-ct: Support sending custom frames with no-ack flag. bc938bc2021e ath10k-ct: Support sending pkts with specific rate on 10.4 firmware. Runtime tested on: - GL-iNet GL-B1300 - Mikrotik RB912 + QCA9882 Signed-off-by: Robert Marko [Added list of all changes from previous version + add own test device] Signed-off-by: Koen Vandeputte --- diff --git a/package/kernel/ath10k-ct/Makefile b/package/kernel/ath10k-ct/Makefile index d39ecabf46..d47ab8655c 100644 --- a/package/kernel/ath10k-ct/Makefile +++ b/package/kernel/ath10k-ct/Makefile @@ -8,9 +8,9 @@ PKG_LICENSE_FILES:= PKG_SOURCE_URL:=https://github.com/greearb/ath10k-ct.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2018-08-22 -PKG_SOURCE_VERSION:=34954f0f333fa43827b2af67313db2b1e830bb48 -PKG_MIRROR_HASH:=aa77f388727ff2201de615c3211ab5c0b2dc5e3c041bd1cde4d6eebde0ca437a +PKG_SOURCE_DATE:=2018-09-29 +PKG_SOURCE_VERSION:=b9989fbd5d6e3269b3e49ab3ec71b4174a02209e +PKG_MIRROR_HASH:=67bb1c81518aea5880757d521023db25190d9cca21ba67bf1c7e577efd287430 # Build the 4.13 ath10k-ct driver version. Other options are "-4.9", or # leave un-defined for 4.7 kernel. Probably this should match as closely as diff --git a/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch b/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch index 3360efb2d6..14ed854663 100644 --- a/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch +++ b/package/kernel/ath10k-ct/patches/202-ath10k-4.16-use-tpt-trigger-by-default.patch @@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin if (ret) --- a/ath10k-4.16/mac.c +++ b/ath10k-4.16/mac.c -@@ -9616,7 +9616,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -9622,7 +9622,7 @@ int ath10k_mac_register(struct ath10k *a wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); #ifdef CPTCFG_MAC80211_LEDS diff --git a/package/kernel/ath10k-ct/patches/210-ath10k-fix-recent-bandwidth-conversion-bug.patch b/package/kernel/ath10k-ct/patches/210-ath10k-fix-recent-bandwidth-conversion-bug.patch deleted file mode 100644 index 828e1e5a84..0000000000 --- a/package/kernel/ath10k-ct/patches/210-ath10k-fix-recent-bandwidth-conversion-bug.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 91493e8e10f0f495b04a5c32096d56ea1f254c93 Mon Sep 17 00:00:00 2001 -From: Christian Lamparter -Date: Wed, 28 Mar 2018 12:19:55 +0300 -Subject: [PATCH] ath10k: fix recent bandwidth conversion bug - -The commit "cfg80211: make RATE_INFO_BW_20 the default" changed -the index of RATE_INFO_BW_20, but the updates to ath10k missed -the special bandwidth calculation case in -ath10k_update_per_peer_tx_stats(). - -This will fix below warning, - - WARNING: CPU: 0 PID: 609 at net/wireless/util.c:1254 - cfg80211_calculate_bitrate+0x174/0x220 - invalid rate bw=1, mcs=9, nss=2 - - (unwind_backtrace) from - (cfg80211_calculate_bitrate+0x174/0x220) - (cfg80211_calculate_bitrate) from - (nl80211_put_sta_rate+0x44/0x1dc)from - (nl80211_put_sta_rate) from - (nl80211_send_station+0x388/0xaf0) - (nl80211_get_station+0xa8/0xec) - [ end trace da8257d6a850e91a ] - -Fixes: 842be75c77cb ("cfg80211: make RATE_INFO_BW_20 the default") -Signed-off-by: Christian Lamparter -Signed-off-by: Anilkumar Kolli -Signed-off-by: Kalle Valo ---- - ath10k-4.16/htt_rx.c | 42 ++++++++++++++++++-------------- - 1 file changed, 24 insertions(+), 18 deletions(-) - ---- a/ath10k-4.16/htt_rx.c -+++ b/ath10k-4.16/htt_rx.c -@@ -734,6 +734,28 @@ struct amsdu_subframe_hdr { - - #define GROUP_ID_IS_SU_MIMO(x) ((x) == 0 || (x) == 63) - -+static inline u8 ath10k_bw_to_mac80211_bw(u8 bw) -+{ -+ u8 ret = 0; -+ -+ switch (bw) { -+ case 0: -+ ret = RATE_INFO_BW_20; -+ break; -+ case 1: -+ ret = RATE_INFO_BW_40; -+ break; -+ case 2: -+ ret = RATE_INFO_BW_80; -+ break; -+ case 3: -+ ret = RATE_INFO_BW_160; -+ break; -+ } -+ -+ return ret; -+} -+ - static void ath10k_htt_rx_h_rates(struct ath10k *ar, - struct ieee80211_rx_status *status, - struct htt_rx_desc *rxd) -@@ -836,23 +858,7 @@ static void ath10k_htt_rx_h_rates(struct - if (sgi) - status->enc_flags |= RX_ENC_FLAG_SHORT_GI; - -- switch (bw) { -- /* 20MHZ */ -- case 0: -- break; -- /* 40MHZ */ -- case 1: -- status->bw = RATE_INFO_BW_40; -- break; -- /* 80MHZ */ -- case 2: -- status->bw = RATE_INFO_BW_80; -- break; -- case 3: -- status->bw = RATE_INFO_BW_160; -- break; -- } -- -+ status->bw = ath10k_bw_to_mac80211_bw(bw); - status->encoding = RX_ENC_VHT; - break; - default: -@@ -2623,7 +2629,7 @@ ath10k_update_per_peer_tx_stats(struct a - arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI; - - arsta->txrate.nss = txrate.nss; -- arsta->txrate.bw = txrate.bw + RATE_INFO_BW_20; -+ arsta->txrate.bw = ath10k_bw_to_mac80211_bw(txrate.bw); - } - - static void ath10k_htt_fetch_peer_stats(struct ath10k *ar,