From: Greg Kroah-Hartman Date: Tue, 25 Oct 2016 19:02:14 +0000 (+0200) Subject: remove queue-4.4/ath10k-fix-copy-engine-5-destination-ring-stuck.patch X-Git-Tag: v4.8.5~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0850bd3b4c56d8b52e18d913829bfb049fc9a755;p=thirdparty%2Fkernel%2Fstable-queue.git remove queue-4.4/ath10k-fix-copy-engine-5-destination-ring-stuck.patch --- diff --git a/queue-4.4/ath10k-fix-copy-engine-5-destination-ring-stuck.patch b/queue-4.4/ath10k-fix-copy-engine-5-destination-ring-stuck.patch deleted file mode 100644 index 9171a4f9dae..00000000000 --- a/queue-4.4/ath10k-fix-copy-engine-5-destination-ring-stuck.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 0628467f97b5227755428bac10a68257322f7e34 Mon Sep 17 00:00:00 2001 -From: Rajkumar Manoharan -Date: Wed, 21 Sep 2016 16:28:06 +0530 -Subject: ath10k: fix copy engine 5 destination ring stuck - -From: Rajkumar Manoharan - -commit 0628467f97b5227755428bac10a68257322f7e34 upstream. - -Firmware is running watchdog timer for tracking copy engine ring index -and write index. Whenever both indices are stuck at same location for -given duration, watchdog will be trigger to assert target. While -updating copy engine destination ring write index, driver ensures that -write index will not be same as read index by finding delta between these -two indices (CE_RING_DELTA). - -HTT target to host copy engine (CE5) is special case where ring buffers -will be reused and delta check is not applied while updating write index. -In rare scenario, whenever CE5 ring is full, both indices will be referring -same location and this is causing CE ring stuck issue as explained -above. This issue is originally reported on IPQ4019 during long hour stress -testing and during veriwave max clients testsuites. The same issue is -also observed in other chips as well. Fix this by ensuring that write -index is one less than read index which means that full ring is -available for receiving data. - -Tested-by: Tamizh chelvam -Signed-off-by: Rajkumar Manoharan -Signed-off-by: Kalle Valo -Signed-off-by: Greg Kroah-Hartman - ---- - drivers/net/wireless/ath/ath10k/ce.c | 7 +++++++ - 1 file changed, 7 insertions(+) - ---- a/drivers/net/wireless/ath/ath10k/ce.c -+++ b/drivers/net/wireless/ath/ath10k/ce.c -@@ -408,6 +408,13 @@ int __ath10k_ce_rx_post_buf(struct ath10 - struct ce_desc *base = dest_ring->base_addr_owner_space; - struct ce_desc *desc = CE_DEST_RING_TO_DESC(base, write_index); - u32 ctrl_addr = pipe->ctrl_addr; -+ u32 cur_write_idx = ath10k_ce_dest_ring_write_index_get(ar, ctrl_addr); -+ -+ /* Prevent CE ring stuck issue that will occur when ring is full. -+ * Make sure that write index is 1 less than read index. -+ */ -+ if ((cur_write_idx + nentries) == dest_ring->sw_index) -+ nentries -= 1; - - lockdep_assert_held(&ar_pci->ce_lock); - diff --git a/queue-4.4/series b/queue-4.4/series index e35b3683e28..02a8177ff2c 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -3,7 +3,6 @@ mei-me-add-kaby-point-device-ids.patch regulator-tps65910-work-around-silicon-erratum-swcz010.patch clk-imx6-initialize-gpu-clocks.patch pm-devfreq-event-remove-duplicate-devfreq_event_get_drvdata.patch -ath10k-fix-copy-engine-5-destination-ring-stuck.patch rtlwifi-fix-missing-country-code-for-great-britain.patch mmc-block-don-t-use-cmd23-with-very-old-mmc-cards.patch mmc-sdhci-cast-unsigned-int-to-unsigned-long-long-to-avoid-unexpeted-error.patch