[Top] [All Lists]

[3.13-rc regression] Unbreak Loongson2 and r4k-generic flush icache rang

To: Ralf Baechle <>
Subject: [3.13-rc regression] Unbreak Loongson2 and r4k-generic flush icache range
From: Alexandre Oliva <>
Date: Mon, 13 Jan 2014 09:26:10 -0200
List-archive: <>
List-help: <>
List-id: linux-mips <>
List-owner: <>
List-post: <>
List-software: Ecartis version 1.0.0
List-subscribe: <>
List-unsubscribe: <>
Organization: Free thinker, not speaking for the GNU Project
Original-recipient: rfc822;
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)
Commit 14bd8c08, that replaced Loongson2-specific ifdefs with cpu tests,
inverted the CPU test in local_r4k_flush_icache_range.  Loongson2 won't
boot up using the generic icache flush code.  Presumably other CPUs
might face other problems when presented with Loongson2-specific icache
flush code too.  This patch enabled my Yeeloong to boot up successfully
a 3.13-rc kernel for the first time, after a long git bisect session.

Signed-off-by: Alexandre Oliva <>
 arch/mips/mm/c-r4k.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 62ffd20..1c2029d 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -580,11 +580,11 @@ static inline void local_r4k_flush_icache_range(unsigned 
long start, unsigned lo
        else {
                switch (boot_cpu_type()) {
                case CPU_LOONGSON2:
-                       protected_blast_icache_range(start, end);
+                       protected_loongson23_blast_icache_range(start, end);
-                       protected_loongson23_blast_icache_range(start, end);
+                       protected_blast_icache_range(start, end);

Alexandre Oliva, freedom fighter
You must be the change you wish to see in the world. -- Gandhi
Be Free! --   FSF Latin America board member
Free Software Evangelist      Red Hat Brazil Compiler Engineer

<Prev in Thread] Current Thread [Next in Thread>