From: Sasha Levin Date: Fri, 28 Aug 2020 17:05:12 +0000 (-0400) Subject: Fixes for 4.9 X-Git-Tag: v4.4.235~61 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2c458258e9ae60815ed0679ab03ee394ddc14a80;p=thirdparty%2Fkernel%2Fstable-queue.git Fixes for 4.9 Signed-off-by: Sasha Levin --- diff --git a/queue-4.9/revert-ath10k-fix-dma-related-firmware-crashes-on-mu.patch b/queue-4.9/revert-ath10k-fix-dma-related-firmware-crashes-on-mu.patch new file mode 100644 index 00000000000..872d4ba6a17 --- /dev/null +++ b/queue-4.9/revert-ath10k-fix-dma-related-firmware-crashes-on-mu.patch @@ -0,0 +1,51 @@ +From 02d82120636b1d85d6fc2543874395ef7163a000 Mon Sep 17 00:00:00 2001 +From: Sasha Levin +Date: Tue, 14 Jan 2020 12:35:21 +0800 +Subject: Revert "ath10k: fix DMA related firmware crashes on multiple devices" + +From: Zhi Chen + +[ Upstream commit a1769bb68a850508a492e3674ab1e5e479b11254 ] + +This reverts commit 76d164f582150fd0259ec0fcbc485470bcd8033e. +PCIe hung issue was observed on multiple platforms. The issue was reproduced +when DUT was configured as AP and associated with 50+ STAs. + +For QCA9984/QCA9888, the DMA_BURST_SIZE register controls the AXI burst size +of the RD/WR access to the HOST MEM. +0 - No split , RAW read/write transfer size from MAC is put out on bus + as burst length +1 - Split at 256 byte boundary +2,3 - Reserved + +With PCIe protocol analyzer, we can see DMA Read crossing 4KB boundary when +issue happened. It broke PCIe spec and caused PCIe stuck. So revert +the default value from 0 to 1. + +Tested: IPQ8064 + QCA9984 with firmware 10.4-3.10-00047 + QCS404 + QCA9984 with firmware 10.4-3.9.0.2--00044 + Synaptics AS370 + QCA9888 with firmware 10.4-3.9.0.2--00040 + +Signed-off-by: Zhi Chen +Signed-off-by: Kalle Valo +Signed-off-by: Sasha Levin +--- + drivers/net/wireless/ath/ath10k/hw.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/net/wireless/ath/ath10k/hw.h b/drivers/net/wireless/ath/ath10k/hw.h +index 6038b7486f1db..e04e0260035ad 100644 +--- a/drivers/net/wireless/ath/ath10k/hw.h ++++ b/drivers/net/wireless/ath/ath10k/hw.h +@@ -558,7 +558,7 @@ ath10k_rx_desc_get_l3_pad_bytes(struct ath10k_hw_params *hw, + + #define TARGET_10_4_TX_DBG_LOG_SIZE 1024 + #define TARGET_10_4_NUM_WDS_ENTRIES 32 +-#define TARGET_10_4_DMA_BURST_SIZE 0 ++#define TARGET_10_4_DMA_BURST_SIZE 1 + #define TARGET_10_4_MAC_AGGR_DELIM 0 + #define TARGET_10_4_RX_SKIP_DEFRAG_TIMEOUT_DUP_DETECTION_CHECK 1 + #define TARGET_10_4_VOW_CONFIG 0 +-- +2.25.1 + diff --git a/queue-4.9/series b/queue-4.9/series index 4e292cd9eae..290ac849b03 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -35,3 +35,4 @@ kvm-arm64-fix-symbol-dependency-in-__hyp_call_panic_.patch powerpc-spufs-add-config_coredump-dependency.patch usb-sisusbvga-fix-a-potential-ub-casued-by-left-shif.patch efi-provide-empty-efi_enter_virtual_mode-implementat.patch +revert-ath10k-fix-dma-related-firmware-crashes-on-mu.patch