diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2019-02-15 18:43:55 +0100 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2019-02-17 17:33:18 +0100 |
commit | d48a8ed40d3d1b65eec9c848828c6c0e2928cf07 (patch) | |
tree | a9d76b409892bf8f354099730732aeab3760742f /package/kernel/mac80211/patches/ath | |
parent | c8a30172f88f3df6d58dd3f67c5c12ef9472e979 (diff) | |
download | upstream-d48a8ed40d3d1b65eec9c848828c6c0e2928cf07.tar.gz upstream-d48a8ed40d3d1b65eec9c848828c6c0e2928cf07.tar.bz2 upstream-d48a8ed40d3d1b65eec9c848828c6c0e2928cf07.zip |
mac80211: update to version 4.19.23-1
This updates mac80211 to backports version 4.19.23-1 which includes all
the stable fixes from kernel 4.19.23.
The removed patches are included in this version.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211/patches/ath')
8 files changed, 13 insertions, 212 deletions
diff --git a/package/kernel/mac80211/patches/ath/381-ath9k-fix-tx99-with-monitor-mode-interface.patch b/package/kernel/mac80211/patches/ath/381-ath9k-fix-tx99-with-monitor-mode-interface.patch index 777b73417f..d5c37825fd 100644 --- a/package/kernel/mac80211/patches/ath/381-ath9k-fix-tx99-with-monitor-mode-interface.patch +++ b/package/kernel/mac80211/patches/ath/381-ath9k-fix-tx99-with-monitor-mode-interface.patch @@ -81,7 +81,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> rate->flags |= IEEE80211_TX_RC_MCS; --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c -@@ -2973,7 +2973,7 @@ int ath9k_tx99_send(struct ath_softc *sc +@@ -2974,7 +2974,7 @@ int ath9k_tx99_send(struct ath_softc *sc return -EINVAL; } diff --git a/package/kernel/mac80211/patches/ath/395-ath9k-add-back-support-for-using-active-monitor-inte.patch b/package/kernel/mac80211/patches/ath/395-ath9k-add-back-support-for-using-active-monitor-inte.patch index abd0fdc210..7f30de9862 100644 --- a/package/kernel/mac80211/patches/ath/395-ath9k-add-back-support-for-using-active-monitor-inte.patch +++ b/package/kernel/mac80211/patches/ath/395-ath9k-add-back-support-for-using-active-monitor-inte.patch @@ -85,7 +85,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> rate->flags |= IEEE80211_TX_RC_MCS; --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c -@@ -2973,7 +2973,7 @@ int ath9k_tx99_send(struct ath_softc *sc +@@ -2974,7 +2974,7 @@ int ath9k_tx99_send(struct ath_softc *sc return -EINVAL; } diff --git a/package/kernel/mac80211/patches/ath/553-ath9k-dynack-use-authentication-messages-for-late-ac.patch b/package/kernel/mac80211/patches/ath/553-ath9k-dynack-use-authentication-messages-for-late-ac.patch deleted file mode 100644 index 831c534762..0000000000 --- a/package/kernel/mac80211/patches/ath/553-ath9k-dynack-use-authentication-messages-for-late-ac.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> -Date: Fri, 2 Nov 2018 21:49:55 +0100 -Subject: [PATCH] ath9k: dynack: use authentication messages for 'late' ack - -In order to properly support dynack in ad-hoc mode running -wpa_supplicant, take into account authentication frames for -'late ack' detection. This patch has been tested on devices -mounted on offshore high-voltage stations connected through -~24Km link - -Reported-by: Koen Vandeputte <koen.vandeputte@ncentric.com> -Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> -Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> ---- - ---- a/drivers/net/wireless/ath/ath9k/dynack.c -+++ b/drivers/net/wireless/ath/ath9k/dynack.c -@@ -187,7 +187,8 @@ void ath_dynack_sample_tx_ts(struct ath_ - /* late ACK */ - if (ts->ts_status & ATH9K_TXERR_XRETRY) { - if (ieee80211_is_assoc_req(hdr->frame_control) || -- ieee80211_is_assoc_resp(hdr->frame_control)) { -+ ieee80211_is_assoc_resp(hdr->frame_control) || -+ ieee80211_is_auth(hdr->frame_control)) { - ath_dbg(common, DYNACK, "late ack\n"); - ath9k_hw_setslottime(ah, (LATEACK_TO - 3) / 2); - ath9k_hw_set_ack_timeout(ah, LATEACK_TO); diff --git a/package/kernel/mac80211/patches/ath/554-ath9k-dynack-move-debug-log-after-buffer-increments.patch b/package/kernel/mac80211/patches/ath/554-ath9k-dynack-move-debug-log-after-buffer-increments.patch index a1d612660b..607722cc3d 100644 --- a/package/kernel/mac80211/patches/ath/554-ath9k-dynack-move-debug-log-after-buffer-increments.patch +++ b/package/kernel/mac80211/patches/ath/554-ath9k-dynack-move-debug-log-after-buffer-increments.patch @@ -12,9 +12,9 @@ Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> --- a/drivers/net/wireless/ath/ath9k/dynack.c +++ b/drivers/net/wireless/ath/ath9k/dynack.c -@@ -171,11 +171,12 @@ static void ath_dynack_compute_to(struct - void ath_dynack_sample_tx_ts(struct ath_hw *ah, struct sk_buff *skb, - struct ath_tx_status *ts) +@@ -178,11 +178,12 @@ void ath_dynack_sample_tx_ts(struct ath_ + struct ath_tx_status *ts, + struct ieee80211_sta *sta) { - u8 ridx; struct ieee80211_hdr *hdr; @@ -24,9 +24,9 @@ Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> + u32 dur = ts->duration; + u8 ridx; - if ((info->flags & IEEE80211_TX_CTL_NO_ACK) || !da->enabled) + if (!da->enabled || (info->flags & IEEE80211_TX_CTL_NO_ACK)) return; -@@ -203,14 +204,13 @@ void ath_dynack_sample_tx_ts(struct ath_ +@@ -217,14 +218,13 @@ void ath_dynack_sample_tx_ts(struct ath_ ridx = ts->ts_rateindex; da->st_rbf.ts[da->st_rbf.t_rb].tstamp = ts->ts_tstamp; @@ -42,7 +42,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> rate = &common->sbands[info->band].bitrates[rates[ridx].idx]; if (info->band == NL80211_BAND_2GHZ && -@@ -219,19 +219,18 @@ void ath_dynack_sample_tx_ts(struct ath_ +@@ -233,19 +233,18 @@ void ath_dynack_sample_tx_ts(struct ath_ else phy = WLAN_RC_PHY_OFDM; @@ -68,7 +68,7 @@ Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> ath_dynack_compute_to(ah); spin_unlock_bh(&da->qlock); -@@ -258,14 +257,13 @@ void ath_dynack_sample_ack_ts(struct ath +@@ -272,14 +271,13 @@ void ath_dynack_sample_ack_ts(struct ath spin_lock_bh(&da->qlock); da->ack_rbf.tstamp[da->ack_rbf.t_rb] = ts; diff --git a/package/kernel/mac80211/patches/ath/555-ath9k-dynack-check-da-enabled-first-in-sampling-rout.patch b/package/kernel/mac80211/patches/ath/555-ath9k-dynack-check-da-enabled-first-in-sampling-rout.patch deleted file mode 100644 index cc5cdf9233..0000000000 --- a/package/kernel/mac80211/patches/ath/555-ath9k-dynack-check-da-enabled-first-in-sampling-rout.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> -Date: Fri, 2 Nov 2018 21:49:57 +0100 -Subject: [PATCH] ath9k: dynack: check da->enabled first in sampling - routines - -Check da->enabled flag first in ath_dynack_sample_tx_ts and -ath_dynack_sample_ack_ts routines in order to avoid useless -processing - -Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> -Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> ---- - ---- a/drivers/net/wireless/ath/ath9k/dynack.c -+++ b/drivers/net/wireless/ath/ath9k/dynack.c -@@ -178,7 +178,7 @@ void ath_dynack_sample_tx_ts(struct ath_ - u32 dur = ts->duration; - u8 ridx; - -- if ((info->flags & IEEE80211_TX_CTL_NO_ACK) || !da->enabled) -+ if (!da->enabled || (info->flags & IEEE80211_TX_CTL_NO_ACK)) - return; - - spin_lock_bh(&da->qlock); -@@ -251,7 +251,7 @@ void ath_dynack_sample_ack_ts(struct ath - struct ath_common *common = ath9k_hw_common(ah); - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; - -- if (!ath_dynack_bssidmask(ah, hdr->addr1) || !da->enabled) -+ if (!da->enabled || !ath_dynack_bssidmask(ah, hdr->addr1)) - return; - - spin_lock_bh(&da->qlock); diff --git a/package/kernel/mac80211/patches/ath/556-ath9k-dynack-make-ewma-estimation-faster.patch b/package/kernel/mac80211/patches/ath/556-ath9k-dynack-make-ewma-estimation-faster.patch deleted file mode 100644 index aaae8babcc..0000000000 --- a/package/kernel/mac80211/patches/ath/556-ath9k-dynack-make-ewma-estimation-faster.patch +++ /dev/null @@ -1,139 +0,0 @@ -From: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> -Date: Fri, 2 Nov 2018 21:49:58 +0100 -Subject: [PATCH] ath9k: dynack: make ewma estimation faster - -In order to make propagation time estimation faster, -use current sample as ewma output value during 'late ack' -tracking - -Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> -Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi@redhat.com> ---- - ---- a/drivers/net/wireless/ath/ath9k/ath9k.h -+++ b/drivers/net/wireless/ath/ath9k/ath9k.h -@@ -274,7 +274,7 @@ struct ath_node { - #endif - u8 key_idx[4]; - -- u32 ackto; -+ int ackto; - struct list_head list; - }; - ---- a/drivers/net/wireless/ath/ath9k/dynack.c -+++ b/drivers/net/wireless/ath/ath9k/dynack.c -@@ -29,9 +29,13 @@ - * ath_dynack_ewma - EWMA (Exponentially Weighted Moving Average) calculation - * - */ --static inline u32 ath_dynack_ewma(u32 old, u32 new) -+static inline int ath_dynack_ewma(int old, int new) - { -- return (new * (EWMA_DIV - EWMA_LEVEL) + old * EWMA_LEVEL) / EWMA_DIV; -+ if (old > 0) -+ return (new * (EWMA_DIV - EWMA_LEVEL) + -+ old * EWMA_LEVEL) / EWMA_DIV; -+ else -+ return new; - } - - /** -@@ -82,10 +86,10 @@ static inline bool ath_dynack_bssidmask( - */ - static void ath_dynack_compute_ackto(struct ath_hw *ah) - { -- struct ath_node *an; -- u32 to = 0; -- struct ath_dynack *da = &ah->dynack; - struct ath_common *common = ath9k_hw_common(ah); -+ struct ath_dynack *da = &ah->dynack; -+ struct ath_node *an; -+ int to = 0; - - list_for_each_entry(an, &da->nodes, list) - if (an->ackto > to) -@@ -144,7 +148,8 @@ static void ath_dynack_compute_to(struct - an->ackto = ath_dynack_ewma(an->ackto, - ackto); - ath_dbg(ath9k_hw_common(ah), DYNACK, -- "%pM to %u\n", dst, an->ackto); -+ "%pM to %d [%u]\n", dst, -+ an->ackto, ackto); - if (time_is_before_jiffies(da->lto)) { - ath_dynack_compute_ackto(ah); - da->lto = jiffies + COMPUTE_TO; -@@ -166,10 +171,12 @@ static void ath_dynack_compute_to(struct - * @ah: ath hw - * @skb: socket buffer - * @ts: tx status info -+ * @sta: station pointer - * - */ - void ath_dynack_sample_tx_ts(struct ath_hw *ah, struct sk_buff *skb, -- struct ath_tx_status *ts) -+ struct ath_tx_status *ts, -+ struct ieee80211_sta *sta) - { - struct ieee80211_hdr *hdr; - struct ath_dynack *da = &ah->dynack; -@@ -191,9 +198,16 @@ void ath_dynack_sample_tx_ts(struct ath_ - ieee80211_is_assoc_resp(hdr->frame_control) || - ieee80211_is_auth(hdr->frame_control)) { - ath_dbg(common, DYNACK, "late ack\n"); -+ - ath9k_hw_setslottime(ah, (LATEACK_TO - 3) / 2); - ath9k_hw_set_ack_timeout(ah, LATEACK_TO); - ath9k_hw_set_cts_timeout(ah, LATEACK_TO); -+ if (sta) { -+ struct ath_node *an; -+ -+ an = (struct ath_node *)sta->drv_priv; -+ an->ackto = -1; -+ } - da->lto = jiffies + LATEACK_DELAY; - } - ---- a/drivers/net/wireless/ath/ath9k/dynack.h -+++ b/drivers/net/wireless/ath/ath9k/dynack.h -@@ -86,7 +86,8 @@ void ath_dynack_node_deinit(struct ath_h - void ath_dynack_init(struct ath_hw *ah); - void ath_dynack_sample_ack_ts(struct ath_hw *ah, struct sk_buff *skb, u32 ts); - void ath_dynack_sample_tx_ts(struct ath_hw *ah, struct sk_buff *skb, -- struct ath_tx_status *ts); -+ struct ath_tx_status *ts, -+ struct ieee80211_sta *sta); - #else - static inline void ath_dynack_init(struct ath_hw *ah) {} - static inline void ath_dynack_node_init(struct ath_hw *ah, -@@ -97,7 +98,8 @@ static inline void ath_dynack_sample_ack - struct sk_buff *skb, u32 ts) {} - static inline void ath_dynack_sample_tx_ts(struct ath_hw *ah, - struct sk_buff *skb, -- struct ath_tx_status *ts) {} -+ struct ath_tx_status *ts, -+ struct ieee80211_sta *sta) {} - #endif - - #endif /* DYNACK_H */ ---- a/drivers/net/wireless/ath/ath9k/xmit.c -+++ b/drivers/net/wireless/ath/ath9k/xmit.c -@@ -629,7 +629,7 @@ static void ath_tx_complete_aggr(struct - if (bf == bf->bf_lastbf) - ath_dynack_sample_tx_ts(sc->sc_ah, - bf->bf_mpdu, -- ts); -+ ts, sta); - } - - ath_tx_complete_buf(sc, bf, txq, &bf_head, sta, ts, -@@ -773,7 +773,8 @@ static void ath_tx_process_buffer(struct - memcpy(info->control.rates, bf->rates, - sizeof(info->control.rates)); - ath_tx_rc_status(sc, bf, ts, 1, txok ? 0 : 1, txok); -- ath_dynack_sample_tx_ts(sc->sc_ah, bf->bf_mpdu, ts); -+ ath_dynack_sample_tx_ts(sc->sc_ah, bf->bf_mpdu, ts, -+ sta); - } - ath_tx_complete_buf(sc, bf, txq, bf_head, sta, ts, txok); - } else diff --git a/package/kernel/mac80211/patches/ath/921-ath10k_init_devices_synchronously.patch b/package/kernel/mac80211/patches/ath/921-ath10k_init_devices_synchronously.patch index 16f252fdcd..47ecc9c655 100644 --- a/package/kernel/mac80211/patches/ath/921-ath10k_init_devices_synchronously.patch +++ b/package/kernel/mac80211/patches/ath/921-ath10k_init_devices_synchronously.patch @@ -14,7 +14,7 @@ Signed-off-by: Sven Eckelmann <sven@open-mesh.com> --- a/drivers/net/wireless/ath/ath10k/core.c +++ b/drivers/net/wireless/ath/ath10k/core.c -@@ -2719,6 +2719,16 @@ int ath10k_core_register(struct ath10k * +@@ -2720,6 +2720,16 @@ int ath10k_core_register(struct ath10k * ar->chip_id = chip_id; queue_work(ar->workqueue, &ar->register_work); 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 bb29489c0b..50ed63b065 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 @@ -172,7 +172,7 @@ v13: .patch_load_addr = QCA9888_HW_2_0_PATCH_LOAD_ADDR, .uart_pin = 7, .cc_wraparound_type = ATH10K_HW_CC_WRAP_SHIFTED_EACH, -@@ -2440,6 +2446,10 @@ int ath10k_core_start(struct ath10k *ar, +@@ -2441,6 +2447,10 @@ int ath10k_core_start(struct ath10k *ar, if (status) goto err_hif_stop; @@ -183,7 +183,7 @@ v13: return 0; err_hif_stop: -@@ -2694,9 +2704,18 @@ static void ath10k_core_register_work(st +@@ -2695,9 +2705,18 @@ static void ath10k_core_register_work(st goto err_spectral_destroy; } @@ -202,7 +202,7 @@ v13: err_spectral_destroy: ath10k_spectral_destroy(ar); err_debug_destroy: -@@ -2740,6 +2759,8 @@ void ath10k_core_unregister(struct ath10 +@@ -2741,6 +2760,8 @@ void ath10k_core_unregister(struct ath10 if (!test_bit(ATH10K_FLAG_CORE_REGISTERED, &ar->dev_flags)) return; |