From 714f7080cf02ea7a865c55f9b6f9c75c668e827f Mon Sep 17 00:00:00 2001 From: Felix Fietkau <nbd@openwrt.org> Date: Sun, 13 Sep 2015 20:44:09 +0000 Subject: [PATCH] ath10k: reduce dma burst size on newer firmware to fix crashes Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 46900 --- ...elated-firmware-crashes-on-multiple-.patch | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 package/kernel/mac80211/patches/332-ath10k-fix-DMA-related-firmware-crashes-on-multiple-.patch diff --git a/package/kernel/mac80211/patches/332-ath10k-fix-DMA-related-firmware-crashes-on-multiple-.patch b/package/kernel/mac80211/patches/332-ath10k-fix-DMA-related-firmware-crashes-on-multiple-.patch new file mode 100644 index 00000000000..52b7fa9006a --- /dev/null +++ b/package/kernel/mac80211/patches/332-ath10k-fix-DMA-related-firmware-crashes-on-multiple-.patch @@ -0,0 +1,33 @@ +From: Felix Fietkau <nbd@openwrt.org> +Date: Sun, 13 Sep 2015 22:26:10 +0200 +Subject: [PATCH] ath10k: fix DMA related firmware crashes on multiple devices + +Some platforms really don't like DMA bursts of 256 bytes, and this +causes the firmware to crash when sending beacons. +Also, changing this based on the firmware version does not seem to make +much sense, so use 128 bytes for all versions. + +Cc: stable@vger.kernel.org +Signed-off-by: Felix Fietkau <nbd@openwrt.org> +--- + +--- a/drivers/net/wireless/ath/ath10k/hw.h ++++ b/drivers/net/wireless/ath/ath10k/hw.h +@@ -340,7 +340,7 @@ enum ath10k_hw_rate_cck { + #define TARGET_10X_MAX_FRAG_ENTRIES 0 + + /* 10.2 parameters */ +-#define TARGET_10_2_DMA_BURST_SIZE 1 ++#define TARGET_10_2_DMA_BURST_SIZE 0 + + /* Target specific defines for WMI-TLV firmware */ + #define TARGET_TLV_NUM_VDEVS 4 +@@ -397,7 +397,7 @@ enum ath10k_hw_rate_cck { + + #define TARGET_10_4_TX_DBG_LOG_SIZE 1024 + #define TARGET_10_4_NUM_WDS_ENTRIES 32 +-#define TARGET_10_4_DMA_BURST_SIZE 1 ++#define TARGET_10_4_DMA_BURST_SIZE 0 + #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