Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a754f70886ebcc7fda3d18a828e0e54e3ffc86d9
Commit:     a754f70886ebcc7fda3d18a828e0e54e3ffc86d9
Parent:     99fee6d7e5748d96884667a4628118f7fc130ea0
Author:     Ralf Baechle <[EMAIL PROTECTED]>
AuthorDate: Sat Nov 3 01:01:37 2007 +0000
Committer:  Ralf Baechle <[EMAIL PROTECTED]>
CommitDate: Thu Nov 15 23:21:48 2007 +0000

    [MIPS] Sibyte: resurrect old cache hack.
    
    The recent switch of the Sibyte SOCs from the processor specific cache
    managment code in c-sb1.c to c-r4k.c lost this old hack
    
        [MIPS] Hack for SB1 cache issues
    
        Removing flush_icache_page a while ago broke SB1 which was using an 
empty
        flush_data_cache_page function.  This glues things well enough so a more
        efficient but also more intrusive solution can be found later.
    
        Signed-Off-By: Thiemo Seufer <[EMAIL PROTECTED]>
        Signed-off-by: Ralf Baechle <[EMAIL PROTECTED]>
    
    in the hope it was no longer needed.  As it turns it still is so resurrect
    it until there is a better solution.
    
    Signed-off-by: Ralf Baechle <[EMAIL PROTECTED]>
---
 arch/mips/mm/c-r4k.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
index 6806d58..9355f1c 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -7,6 +7,7 @@
  * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Ralf Baechle ([EMAIL 
PROTECTED])
  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
  */
+#include <linux/hardirq.h>
 #include <linux/init.h>
 #include <linux/highmem.h>
 #include <linux/kernel.h>
@@ -507,7 +508,11 @@ static inline void local_r4k_flush_data_cache_page(void * 
addr)
 
 static void r4k_flush_data_cache_page(unsigned long addr)
 {
-       r4k_on_each_cpu(local_r4k_flush_data_cache_page, (void *) addr, 1, 1);
+       if (in_atomic())
+               local_r4k_flush_data_cache_page((void *)addr);
+       else
+               r4k_on_each_cpu(local_r4k_flush_data_cache_page, (void *) addr,
+                               1, 1);
 }
 
 struct flush_icache_range_args {
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to