aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx
diff options
context:
space:
mode:
authorJonas Gorski <jogo@openwrt.org>2015-08-05 13:55:42 +0000
committerJonas Gorski <jogo@openwrt.org>2015-08-05 13:55:42 +0000
commit3368b4799b527a4179d9eac77acc90ce81125964 (patch)
treebc6215190f3c4b4f134ce3512a7b68cb16233111 /target/linux/brcm63xx
parenta105688c87d9b04a19aeed9cbaf9e386ef3f5047 (diff)
downloadupstream-3368b4799b527a4179d9eac77acc90ce81125964.tar.gz
upstream-3368b4799b527a4179d9eac77acc90ce81125964.tar.bz2
upstream-3368b4799b527a4179d9eac77acc90ce81125964.zip
brcm63xx: fix crash on 6358/6368 when booting from thread 1
It looks like RAC flushes cause random corruption(?) when the second thread is set as default. Fixes #20160. Signed-off-by: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 46563
Diffstat (limited to 'target/linux/brcm63xx')
-rw-r--r--target/linux/brcm63xx/patches-4.1/003-Revert-MIPS-BCM63xx-Provide-a-plat_post_dma_flush-ho.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/target/linux/brcm63xx/patches-4.1/003-Revert-MIPS-BCM63xx-Provide-a-plat_post_dma_flush-ho.patch b/target/linux/brcm63xx/patches-4.1/003-Revert-MIPS-BCM63xx-Provide-a-plat_post_dma_flush-ho.patch
new file mode 100644
index 0000000000..9f61050088
--- /dev/null
+++ b/target/linux/brcm63xx/patches-4.1/003-Revert-MIPS-BCM63xx-Provide-a-plat_post_dma_flush-ho.patch
@@ -0,0 +1,49 @@
+From 1b02e59087d3de3953d3fa0536356e3e137bf74b Mon Sep 17 00:00:00 2001
+From: Florian Fainelli <f.fainelli@gmail.com>
+Date: Tue, 28 Jul 2015 19:24:24 -0700
+Subject: [PATCH] Revert "MIPS: BCM63xx: Provide a plat_post_dma_flush hook"
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This reverts commit 3cf29543413207d3ab1c3f62a88c09bb46f2264e ("MIPS:
+BCM63xx: Provide a plat_post_dma_flush hook") since this commit was
+found to prevent BCM6358 (early BMIPS4350 cores) and some BCM6368
+(BMIPS4380 cores) from booting reliably.
+
+Alvaro was able to track this down to an issue specifically located to
+devices that use the second thread (TP1) when booting. Since BCM63xx did
+not have a need for plat_post_dma_flush() hook before, let's just keep
+things the way they were.
+
+CC: stable@vger.kernel.org
+CC: Kevin Cernekee <cernekee@gmail.com>
+CC: Nicolas Schichan <nschichan@freebox.fr>
+Reported-by: Álvaro Fernández Rojas <noltari@gmail.com>
+Reported-by: Jonas Gorski <jogo@openwrt.org>
+Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
+Signed-off-by: Jonas Gorski <jogo@openwrt.org>
+---
+ arch/mips/include/asm/mach-bcm63xx/dma-coherence.h | 10 ----------
+ 1 file changed, 10 deletions(-)
+ delete mode 100644 arch/mips/include/asm/mach-bcm63xx/dma-coherence.h
+
+diff --git a/arch/mips/include/asm/mach-bcm63xx/dma-coherence.h b/arch/mips/include/asm/mach-bcm63xx/dma-coherence.h
+deleted file mode 100644
+index 11d3b57..0000000
+--- a/arch/mips/include/asm/mach-bcm63xx/dma-coherence.h
++++ /dev/null
+@@ -1,10 +0,0 @@
+-#ifndef __ASM_MACH_BCM63XX_DMA_COHERENCE_H
+-#define __ASM_MACH_BCM63XX_DMA_COHERENCE_H
+-
+-#include <asm/bmips.h>
+-
+-#define plat_post_dma_flush bmips_post_dma_flush
+-
+-#include <asm/mach-generic/dma-coherence.h>
+-
+-#endif /* __ASM_MACH_BCM63XX_DMA_COHERENCE_H */
+--
+2.1.4
+