aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/ath
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/ath')
-rw-r--r--package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch2
-rw-r--r--package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch10
-rw-r--r--package/kernel/mac80211/patches/ath/432-ath5k_add_pciids.patch2
-rw-r--r--package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch2
-rw-r--r--package/kernel/mac80211/patches/ath/558-ath9k-dynack-introduce-ath_dynack_set_timeout-routin.patch89
-rw-r--r--package/kernel/mac80211/patches/ath/559-ath9k-dynack-properly-set-last-timeout-timestamp-in-.patch27
-rw-r--r--package/kernel/mac80211/patches/ath/560-ath9k-dynack-set-max-timeout-according-to-channel-wi.patch92
-rw-r--r--package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch73
-rw-r--r--package/kernel/mac80211/patches/ath/930-ath10k_add_tpt_led_trigger.patch4
-rw-r--r--package/kernel/mac80211/patches/ath/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch2
-rw-r--r--package/kernel/mac80211/patches/ath/975-ath10k-use-tpt-trigger-by-default.patch2
-rw-r--r--package/kernel/mac80211/patches/ath/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch2
12 files changed, 13 insertions, 294 deletions
diff --git a/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch b/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch
index 231a7cb393..3bb046e843 100644
--- a/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch
+++ b/package/kernel/mac80211/patches/ath/080-ath10k_thermal_config.patch
@@ -37,7 +37,7 @@
void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature);
--- a/local-symbols
+++ b/local-symbols
-@@ -141,6 +141,7 @@ ATH10K_SNOC=
+@@ -142,6 +142,7 @@ ATH10K_SNOC=
ATH10K_DEBUG=
ATH10K_DEBUGFS=
ATH10K_SPECTRAL=
diff --git a/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch b/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch
index cdc9315cd6..136be19894 100644
--- a/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch
+++ b/package/kernel/mac80211/patches/ath/431-add_platform_eeprom_support_to_ath5k.patch
@@ -1,14 +1,14 @@
--- a/drivers/net/wireless/ath/ath5k/pci.c
+++ b/drivers/net/wireless/ath/ath5k/pci.c
-@@ -21,6 +21,7 @@
- #include <linux/pci-aspm.h>
+@@ -20,6 +20,7 @@
+ #include <linux/pci.h>
#include <linux/etherdevice.h>
#include <linux/module.h>
+#include <linux/ath5k_platform.h>
#include "../ath.h"
#include "ath5k.h"
#include "debug.h"
-@@ -72,7 +73,7 @@ static void ath5k_pci_read_cachesize(str
+@@ -71,7 +72,7 @@ static void ath5k_pci_read_cachesize(str
}
/*
@@ -17,7 +17,7 @@
*/
static bool
ath5k_pci_eeprom_read(struct ath_common *common, u32 offset, u16 *data)
-@@ -80,6 +81,19 @@ ath5k_pci_eeprom_read(struct ath_common
+@@ -79,6 +80,19 @@ ath5k_pci_eeprom_read(struct ath_common
struct ath5k_hw *ah = (struct ath5k_hw *) common->ah;
u32 status, timeout;
@@ -37,7 +37,7 @@
/*
* Initialize EEPROM access
*/
-@@ -123,6 +137,16 @@ static int ath5k_pci_eeprom_read_mac(str
+@@ -122,6 +136,16 @@ static int ath5k_pci_eeprom_read_mac(str
u16 data;
int octet;
diff --git a/package/kernel/mac80211/patches/ath/432-ath5k_add_pciids.patch b/package/kernel/mac80211/patches/ath/432-ath5k_add_pciids.patch
index d82f8001d4..bd0e6707a5 100644
--- a/package/kernel/mac80211/patches/ath/432-ath5k_add_pciids.patch
+++ b/package/kernel/mac80211/patches/ath/432-ath5k_add_pciids.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath5k/pci.c
+++ b/drivers/net/wireless/ath/ath5k/pci.c
-@@ -48,6 +48,8 @@ static const struct pci_device_id ath5k_
+@@ -47,6 +47,8 @@ static const struct pci_device_id ath5k_
{ PCI_VDEVICE(ATHEROS, 0x001b) }, /* 5413 Eagle */
{ PCI_VDEVICE(ATHEROS, 0x001c) }, /* PCI-E cards */
{ PCI_VDEVICE(ATHEROS, 0x001d) }, /* 2417 Nala */
diff --git a/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch b/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch
index 9c91767587..4454baeef1 100644
--- a/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch
+++ b/package/kernel/mac80211/patches/ath/551-ath9k_ubnt_uap_plus_hsr.patch
@@ -391,9 +391,9 @@
ATH9K_CHANNEL_CONTEXT=
ATH9K_PCOEM=
+ATH9K_UBNTHSR=
+ ATH9K_PCI_NO_EEPROM=
ATH9K_HTC=
ATH9K_HTC_DEBUGFS=
- ATH9K_HWRNG=
--- a/drivers/net/wireless/ath/ath9k/Kconfig
+++ b/drivers/net/wireless/ath/ath9k/Kconfig
@@ -60,6 +60,19 @@ config ATH9K_AHB
diff --git a/package/kernel/mac80211/patches/ath/558-ath9k-dynack-introduce-ath_dynack_set_timeout-routin.patch b/package/kernel/mac80211/patches/ath/558-ath9k-dynack-introduce-ath_dynack_set_timeout-routin.patch
deleted file mode 100644
index d765f88559..0000000000
--- a/package/kernel/mac80211/patches/ath/558-ath9k-dynack-introduce-ath_dynack_set_timeout-routin.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From 4420866ef1b602682b009e0186fbb8aefd2125be Mon Sep 17 00:00:00 2001
-From: Lorenzo Bianconi <lorenzo@kernel.org>
-Date: Tue, 20 Aug 2019 18:20:19 +0200
-Subject: [PATCH 1/4] ath9k: dynack: introduce ath_dynack_set_timeout routine
-
-Introduce ath_dynack_set_timeout routine to configure slottime/ack/cts
-timeouts and remove duplicated code
-
-Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
-Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
----
- drivers/net/wireless/ath/ath9k/dynack.c | 37 ++++++++++++++-----------
- 1 file changed, 21 insertions(+), 16 deletions(-)
-
---- a/drivers/net/wireless/ath/ath9k/dynack.c
-+++ b/drivers/net/wireless/ath/ath9k/dynack.c
-@@ -79,6 +79,24 @@ static inline bool ath_dynack_bssidmask(
- }
-
- /**
-+ * ath_dynack_set_timeout - configure timeouts/slottime registers
-+ * @ah: ath hw
-+ * @to: timeout value
-+ *
-+ */
-+static void ath_dynack_set_timeout(struct ath_hw *ah, int to)
-+{
-+ struct ath_common *common = ath9k_hw_common(ah);
-+ int slottime = (to - 3) / 2;
-+
-+ ath_dbg(common, DYNACK, "ACK timeout %u slottime %u\n",
-+ to, slottime);
-+ ath9k_hw_setslottime(ah, slottime);
-+ ath9k_hw_set_ack_timeout(ah, to);
-+ ath9k_hw_set_cts_timeout(ah, to);
-+}
-+
-+/**
- * ath_dynack_compute_ackto - compute ACK timeout as the maximum STA timeout
- * @ah: ath hw
- *
-@@ -86,7 +104,6 @@ static inline bool ath_dynack_bssidmask(
- */
- static void ath_dynack_compute_ackto(struct ath_hw *ah)
- {
-- struct ath_common *common = ath9k_hw_common(ah);
- struct ath_dynack *da = &ah->dynack;
- struct ath_node *an;
- int to = 0;
-@@ -96,15 +113,8 @@ static void ath_dynack_compute_ackto(str
- to = an->ackto;
-
- if (to && da->ackto != to) {
-- u32 slottime;
--
-- slottime = (to - 3) / 2;
-+ ath_dynack_set_timeout(ah, to);
- da->ackto = to;
-- ath_dbg(common, DYNACK, "ACK timeout %u slottime %u\n",
-- da->ackto, slottime);
-- ath9k_hw_setslottime(ah, slottime);
-- ath9k_hw_set_ack_timeout(ah, da->ackto);
-- ath9k_hw_set_cts_timeout(ah, da->ackto);
- }
- }
-
-@@ -198,10 +208,7 @@ 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);
-+ ath_dynack_set_timeout(ah, LATEACK_TO);
- if (sta) {
- struct ath_node *an;
-
-@@ -340,9 +347,7 @@ void ath_dynack_reset(struct ath_hw *ah)
- da->ack_rbf.h_rb = 0;
-
- /* init acktimeout */
-- ath9k_hw_setslottime(ah, (ackto - 3) / 2);
-- ath9k_hw_set_ack_timeout(ah, ackto);
-- ath9k_hw_set_cts_timeout(ah, ackto);
-+ ath_dynack_set_timeout(ah, ackto);
- }
- EXPORT_SYMBOL(ath_dynack_reset);
-
diff --git a/package/kernel/mac80211/patches/ath/559-ath9k-dynack-properly-set-last-timeout-timestamp-in-.patch b/package/kernel/mac80211/patches/ath/559-ath9k-dynack-properly-set-last-timeout-timestamp-in-.patch
deleted file mode 100644
index 5a2aac2782..0000000000
--- a/package/kernel/mac80211/patches/ath/559-ath9k-dynack-properly-set-last-timeout-timestamp-in-.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e5b56ce50eab31d24df6a70cf025db3acc4aa3ac Mon Sep 17 00:00:00 2001
-From: Lorenzo Bianconi <lorenzo@kernel.org>
-Date: Tue, 20 Aug 2019 18:20:20 +0200
-Subject: [PATCH 2/4] ath9k: dynack: properly set last timeout timestamp in
- ath_dynack_reset
-
-Add compute timeout to last computation timestamp in
-ath_dynack_reset in order to not run ath_dynack_compute_ackto
-immediately
-
-Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
-Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
----
- drivers/net/wireless/ath/ath9k/dynack.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/drivers/net/wireless/ath/ath9k/dynack.c
-+++ b/drivers/net/wireless/ath/ath9k/dynack.c
-@@ -338,7 +338,7 @@ void ath_dynack_reset(struct ath_hw *ah)
- u32 ackto = 9 + 16 + 64;
- struct ath_dynack *da = &ah->dynack;
-
-- da->lto = jiffies;
-+ da->lto = jiffies + COMPUTE_TO;
- da->ackto = ackto;
-
- da->st_rbf.t_rb = 0;
diff --git a/package/kernel/mac80211/patches/ath/560-ath9k-dynack-set-max-timeout-according-to-channel-wi.patch b/package/kernel/mac80211/patches/ath/560-ath9k-dynack-set-max-timeout-according-to-channel-wi.patch
deleted file mode 100644
index 876b113aba..0000000000
--- a/package/kernel/mac80211/patches/ath/560-ath9k-dynack-set-max-timeout-according-to-channel-wi.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From 3f737abb7d53cc80d619a3b4a30b6fa63cdc8df7 Mon Sep 17 00:00:00 2001
-From: Lorenzo Bianconi <lorenzo@kernel.org>
-Date: Tue, 20 Aug 2019 18:20:21 +0200
-Subject: [PATCH 3/4] ath9k: dynack: set max timeout according to channel width
-
-Compute maximum configurable ackimeout/ctstimeout according to channel
-width (clockrate)
-
-Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
-Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
----
- drivers/net/wireless/ath/ath9k/dynack.c | 38 +++++++++++++++++++------
- 1 file changed, 30 insertions(+), 8 deletions(-)
-
---- a/drivers/net/wireless/ath/ath9k/dynack.c
-+++ b/drivers/net/wireless/ath/ath9k/dynack.c
-@@ -20,12 +20,31 @@
-
- #define COMPUTE_TO (5 * HZ)
- #define LATEACK_DELAY (10 * HZ)
--#define LATEACK_TO 256
--#define MAX_DELAY 300
- #define EWMA_LEVEL 96
- #define EWMA_DIV 128
-
- /**
-+ * ath_dynack_get_max_to - set max timeout according to channel width
-+ * @ah: ath hw
-+ *
-+ */
-+static u32 ath_dynack_get_max_to(struct ath_hw *ah)
-+{
-+ const struct ath9k_channel *chan = ah->curchan;
-+
-+ if (!chan)
-+ return 300;
-+
-+ if (IS_CHAN_HT40(chan))
-+ return 300;
-+ if (IS_CHAN_HALF_RATE(chan))
-+ return 750;
-+ if (IS_CHAN_QUARTER_RATE(chan))
-+ return 1500;
-+ return 600;
-+}
-+
-+/**
- * ath_dynack_ewma - EWMA (Exponentially Weighted Moving Average) calculation
- *
- */
-@@ -126,15 +145,16 @@ static void ath_dynack_compute_ackto(str
- */
- static void ath_dynack_compute_to(struct ath_hw *ah)
- {
-- u32 ackto, ack_ts;
-- u8 *dst, *src;
-+ struct ath_dynack *da = &ah->dynack;
-+ u32 ackto, ack_ts, max_to;
- struct ieee80211_sta *sta;
-- struct ath_node *an;
- struct ts_info *st_ts;
-- struct ath_dynack *da = &ah->dynack;
-+ struct ath_node *an;
-+ u8 *dst, *src;
-
- rcu_read_lock();
-
-+ max_to = ath_dynack_get_max_to(ah);
- while (da->st_rbf.h_rb != da->st_rbf.t_rb &&
- da->ack_rbf.h_rb != da->ack_rbf.t_rb) {
- ack_ts = da->ack_rbf.tstamp[da->ack_rbf.h_rb];
-@@ -150,7 +170,7 @@ static void ath_dynack_compute_to(struct
- if (ack_ts > st_ts->tstamp + st_ts->dur) {
- ackto = ack_ts - st_ts->tstamp - st_ts->dur;
-
-- if (ackto < MAX_DELAY) {
-+ if (ackto < max_to) {
- sta = ieee80211_find_sta_by_ifaddr(ah->hw, dst,
- src);
- if (sta) {
-@@ -207,8 +227,10 @@ void ath_dynack_sample_tx_ts(struct ath_
- if (ieee80211_is_assoc_req(hdr->frame_control) ||
- ieee80211_is_assoc_resp(hdr->frame_control) ||
- ieee80211_is_auth(hdr->frame_control)) {
-+ u32 max_to = ath_dynack_get_max_to(ah);
-+
- ath_dbg(common, DYNACK, "late ack\n");
-- ath_dynack_set_timeout(ah, LATEACK_TO);
-+ ath_dynack_set_timeout(ah, max_to);
- if (sta) {
- struct ath_node *an;
-
diff --git a/package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch b/package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch
deleted file mode 100644
index 6495bf01b0..0000000000
--- a/package/kernel/mac80211/patches/ath/561-ath9k-dynack-set-ackto-to-max-timeout-in-ath_dynack_.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From cc783bfa67e87d2e6206f7626b7bbb74d5c5f269 Mon Sep 17 00:00:00 2001
-From: Lorenzo Bianconi <lorenzo@kernel.org>
-Date: Tue, 20 Aug 2019 18:20:22 +0200
-Subject: [PATCH 4/4] ath9k: dynack: set ackto to max timeout in
- ath_dynack_reset
-
-Initialize acktimeout to the maximum configurable value in
-ath_dynack_reset in order to not disconnect long distance static links
-enabling dynack and even to take care of possible errors configuring
-a static timeout. Moreover initialize station timeout value to the current
-acktimeout value
-
-Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
-Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
----
- drivers/net/wireless/ath/ath9k/dynack.c | 20 +++++++++++++-------
- 1 file changed, 13 insertions(+), 7 deletions(-)
-
---- a/drivers/net/wireless/ath/ath9k/dynack.c
-+++ b/drivers/net/wireless/ath/ath9k/dynack.c
-@@ -321,11 +321,9 @@ EXPORT_SYMBOL(ath_dynack_sample_ack_ts);
- */
- void ath_dynack_node_init(struct ath_hw *ah, struct ath_node *an)
- {
-- /* ackto = slottime + sifs + air delay */
-- u32 ackto = 9 + 16 + 64;
- struct ath_dynack *da = &ah->dynack;
-
-- an->ackto = ackto;
-+ an->ackto = da->ackto;
-
- spin_lock(&da->qlock);
- list_add_tail(&an->list, &da->nodes);
-@@ -356,20 +354,26 @@ EXPORT_SYMBOL(ath_dynack_node_deinit);
- */
- void ath_dynack_reset(struct ath_hw *ah)
- {
-- /* ackto = slottime + sifs + air delay */
-- u32 ackto = 9 + 16 + 64;
- struct ath_dynack *da = &ah->dynack;
-+ struct ath_node *an;
-+
-+ spin_lock_bh(&da->qlock);
-
- da->lto = jiffies + COMPUTE_TO;
-- da->ackto = ackto;
-
- da->st_rbf.t_rb = 0;
- da->st_rbf.h_rb = 0;
- da->ack_rbf.t_rb = 0;
- da->ack_rbf.h_rb = 0;
-
-+ da->ackto = ath_dynack_get_max_to(ah);
-+ list_for_each_entry(an, &da->nodes, list)
-+ an->ackto = da->ackto;
-+
- /* init acktimeout */
-- ath_dynack_set_timeout(ah, ackto);
-+ ath_dynack_set_timeout(ah, da->ackto);
-+
-+ spin_unlock_bh(&da->qlock);
- }
- EXPORT_SYMBOL(ath_dynack_reset);
-
-@@ -386,6 +390,8 @@ void ath_dynack_init(struct ath_hw *ah)
-
- spin_lock_init(&da->qlock);
- INIT_LIST_HEAD(&da->nodes);
-+ /* ackto = slottime + sifs + air delay */
-+ da->ackto = 9 + 16 + 64;
-
- ah->hw->wiphy->features |= NL80211_FEATURE_ACKTO_ESTIMATION;
- }
diff --git a/package/kernel/mac80211/patches/ath/930-ath10k_add_tpt_led_trigger.patch b/package/kernel/mac80211/patches/ath/930-ath10k_add_tpt_led_trigger.patch
index b1172cd17d..c8c207f41a 100644
--- a/package/kernel/mac80211/patches/ath/930-ath10k_add_tpt_led_trigger.patch
+++ b/package/kernel/mac80211/patches/ath/930-ath10k_add_tpt_led_trigger.patch
@@ -1,6 +1,6 @@
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
-@@ -8669,6 +8669,21 @@ static int ath10k_mac_init_rd(struct ath
+@@ -8671,6 +8671,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[] = {
-@@ -8995,6 +9010,12 @@ int ath10k_mac_register(struct ath10k *a
+@@ -8997,6 +9012,12 @@ int ath10k_mac_register(struct ath10k *a
ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER;
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 97b7550e34..ae0f682224 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
@@ -114,7 +114,7 @@ v13:
ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o
--- a/local-symbols
+++ b/local-symbols
-@@ -144,6 +144,7 @@ ATH10K_DEBUG=
+@@ -145,6 +145,7 @@ ATH10K_DEBUG=
ATH10K_DEBUGFS=
ATH10K_SPECTRAL=
ATH10K_THERMAL=
diff --git a/package/kernel/mac80211/patches/ath/975-ath10k-use-tpt-trigger-by-default.patch b/package/kernel/mac80211/patches/ath/975-ath10k-use-tpt-trigger-by-default.patch
index 8922ffed81..9fdbf0ce30 100644
--- a/package/kernel/mac80211/patches/ath/975-ath10k-use-tpt-trigger-by-default.patch
+++ b/package/kernel/mac80211/patches/ath/975-ath10k-use-tpt-trigger-by-default.patch
@@ -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
-@@ -9027,7 +9027,7 @@ int ath10k_mac_register(struct ath10k *a
+@@ -9029,7 +9029,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/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch b/package/kernel/mac80211/patches/ath/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch
index 4f247e29f7..275409b7c1 100644
--- a/package/kernel/mac80211/patches/ath/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch
+++ b/package/kernel/mac80211/patches/ath/976-ath10k-Check-if-station-exists-before-forwarding-tx-.patch
@@ -72,7 +72,7 @@ Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
-@@ -2639,7 +2639,7 @@ static void ath10k_htt_rx_tx_compl_ind(s
+@@ -2726,7 +2726,7 @@ static void ath10k_htt_rx_tx_compl_ind(s
spin_lock_bh(&ar->data_lock);
peer = ath10k_peer_find_by_id(ar, peer_id);