diff options
Diffstat (limited to 'package/kernel/mac80211/patches/311-ath10k-fix-deadlock-while-processing-rx_in_ord_ind.patch')
-rw-r--r-- | package/kernel/mac80211/patches/311-ath10k-fix-deadlock-while-processing-rx_in_ord_ind.patch | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/package/kernel/mac80211/patches/311-ath10k-fix-deadlock-while-processing-rx_in_ord_ind.patch b/package/kernel/mac80211/patches/311-ath10k-fix-deadlock-while-processing-rx_in_ord_ind.patch deleted file mode 100644 index 3664d70984..0000000000 --- a/package/kernel/mac80211/patches/311-ath10k-fix-deadlock-while-processing-rx_in_ord_ind.patch +++ /dev/null @@ -1,59 +0,0 @@ -From: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> -Date: Thu, 9 Jun 2016 11:33:55 +0530 -Subject: [PATCH] ath10k: fix deadlock while processing rx_in_ord_ind - -commit 5c86d97bcc1d ("ath10k: combine txrx and replenish task") -introduced deadlock while processing rx in order indication message -for qca6174 based devices. While merging replenish and txrx tasklets, -replenish task should be called out of htt rx ring locking since it -is also try to acquire the same lock. - -Unfortunately this issue is not exposed by other solutions (qca988x, -qca99x0 & qca4019), as rx_in_ord_ind message is specific to qca6174 -based devices. This patch fixes - -============================================= -[ INFO: possible recursive locking detected ] -4.7.0-rc2-wt-ath+ #1353 Tainted: G E ---------------------------------------------- -swapper/3/0 is trying to acquire lock: - (&(&htt->rx_ring.lock)->rlock){+.-...}, at: [<f8d7ef19>] -ath10k_htt_rx_msdu_buff_replenish+0x29/0x90 [ath10k_core] - -but task is already holding lock: - (&(&htt->rx_ring.lock)->rlock){+.-...}, at: [<f8d82cab>] -ath10k_htt_txrx_compl_task+0x21b/0x250 [ath10k_core] - -other info that might help us debug this: - Possible unsafe locking scenario: - - CPU0 - ---- - lock(&(&htt->rx_ring.lock)->rlock); - lock(&(&htt->rx_ring.lock)->rlock); - - *** DEADLOCK *** - - May be due to missing lock nesting notation - -1 lock held by swapper/3/0: - #0: (&(&htt->rx_ring.lock)->rlock){+.-...}, at: [<f8d82cab>] -ath10k_htt_txrx_compl_task+0x21b/0x250 [ath10k_core] - -Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=119151 -Fixes: 5c86d97bcc1d ("ath10k: combine txrx and replenish task") -Reported-by: Mike Lothian <mike@fireburn.co.uk> -Signed-off-by: Rajkumar Manoharan <rmanohar@qti.qualcomm.com> -Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com> ---- - ---- a/drivers/net/wireless/ath/ath10k/htt_rx.c -+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c -@@ -1904,7 +1904,6 @@ static void ath10k_htt_rx_in_ord_ind(str - return; - } - } -- ath10k_htt_rx_msdu_buff_replenish(htt); - } - - static void ath10k_htt_rx_tx_fetch_resp_id_confirm(struct ath10k *ar, |