diff options
author | Jonas Gorski <jogo@openwrt.org> | 2015-08-05 13:55:42 +0000 |
---|---|---|
committer | Jonas Gorski <jogo@openwrt.org> | 2015-08-05 13:55:42 +0000 |
commit | 3368b4799b527a4179d9eac77acc90ce81125964 (patch) | |
tree | bc6215190f3c4b4f134ce3512a7b68cb16233111 | |
parent | a105688c87d9b04a19aeed9cbaf9e386ef3f5047 (diff) | |
download | upstream-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
-rw-r--r-- | target/linux/brcm63xx/patches-4.1/003-Revert-MIPS-BCM63xx-Provide-a-plat_post_dma_flush-ho.patch | 49 |
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 + |