aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
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
commit7fef288830cda93409865932782ce493b56a4d69 (patch)
tree89df12218b15d1f76015b81c3d03e2d5cf047daa /target/linux
parenta0c019319ad3101b296cf7eccbb29f2cb3e5daa2 (diff)
downloadmaster-187ad058-7fef288830cda93409865932782ce493b56a4d69.tar.gz
master-187ad058-7fef288830cda93409865932782ce493b56a4d69.tar.bz2
master-187ad058-7fef288830cda93409865932782ce493b56a4d69.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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46563 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-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
+