aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/305-ath10k-Ensure-txrx-compl-task-is-stopped-when-cleani.patch
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2016-06-07 13:27:26 +0200
committerFelix Fietkau <nbd@nbd.name>2016-06-11 09:51:23 +0200
commitdf7af9317b9fd9532497351288ff5697fe88e40d (patch)
treee0e0b78b1a6bd8cfa7a47fff7c13b107afd7ec0b /package/kernel/mac80211/patches/305-ath10k-Ensure-txrx-compl-task-is-stopped-when-cleani.patch
parent69c99a423a8553cc808913fc4e3df848e4ed06d7 (diff)
downloadupstream-df7af9317b9fd9532497351288ff5697fe88e40d.tar.gz
upstream-df7af9317b9fd9532497351288ff5697fe88e40d.tar.bz2
upstream-df7af9317b9fd9532497351288ff5697fe88e40d.zip
ath10k: merge some pending stability fixes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'package/kernel/mac80211/patches/305-ath10k-Ensure-txrx-compl-task-is-stopped-when-cleani.patch')
-rw-r--r--package/kernel/mac80211/patches/305-ath10k-Ensure-txrx-compl-task-is-stopped-when-cleani.patch21
1 files changed, 21 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/305-ath10k-Ensure-txrx-compl-task-is-stopped-when-cleani.patch b/package/kernel/mac80211/patches/305-ath10k-Ensure-txrx-compl-task-is-stopped-when-cleani.patch
new file mode 100644
index 0000000000..73accd866b
--- /dev/null
+++ b/package/kernel/mac80211/patches/305-ath10k-Ensure-txrx-compl-task-is-stopped-when-cleani.patch
@@ -0,0 +1,21 @@
+From: Ben Greear <greearb@candelatech.com>
+Date: Fri, 1 Apr 2016 14:12:08 -0700
+Subject: [PATCH] ath10k: Ensure txrx-compl-task is stopped when cleaning
+ htt-tx.
+
+Otherwise, the txrx-compl-task may access some bad memory?
+
+Signed-off-by: Ben Greear <greearb@candelatech.com>
+---
+
+--- a/drivers/net/wireless/ath/ath10k/htt_tx.c
++++ b/drivers/net/wireless/ath/ath10k/htt_tx.c
+@@ -388,6 +388,8 @@ void ath10k_htt_tx_free(struct ath10k_ht
+ {
+ int size;
+
++ tasklet_kill(&htt->txrx_compl_task);
++
+ idr_for_each(&htt->pending_tx, ath10k_htt_tx_clean_up_pending, htt->ar);
+ idr_destroy(&htt->pending_tx);
+