[ar71xx] ag71xx driver: fix a kernel crash caused by r14496
[openwrt.git] / target / linux / brcm47xx / patches-2.6.25 / 310-no_highpage.patch
index 16e7e3f..505e8aa 100644 (file)
@@ -1,8 +1,6 @@
-Index: linux-2.6.23/arch/mips/mm/init.c
-===================================================================
---- linux-2.6.23.orig/arch/mips/mm/init.c      2007-10-13 11:46:58.762489429 +0200
-+++ linux-2.6.23/arch/mips/mm/init.c   2007-10-13 11:47:36.092616749 +0200
-@@ -205,31 +205,6 @@
+--- a/arch/mips/mm/init.c
++++ b/arch/mips/mm/init.c
+@@ -205,32 +205,6 @@ void kunmap_coherent(void)
        preempt_check_resched();
  }
  
@@ -12,7 +10,8 @@ Index: linux-2.6.23/arch/mips/mm/init.c
 -      void *vfrom, *vto;
 -
 -      vto = kmap_atomic(to, KM_USER1);
--      if (cpu_has_dc_aliases && cpu_use_kmap_coherent && !Page_dcache_dirty(from)) {
+-      if (cpu_has_dc_aliases && cpu_use_kmap_coherent &&
+-          page_mapped(from) && !Page_dcache_dirty(from)) {
 -              vfrom = kmap_coherent(from, vaddr);
 -              copy_page(vto, vfrom);
 -              kunmap_coherent();
@@ -34,11 +33,9 @@ Index: linux-2.6.23/arch/mips/mm/init.c
  void copy_to_user_page(struct vm_area_struct *vma,
        struct page *page, unsigned long vaddr, void *dst, const void *src,
        unsigned long len)
-Index: linux-2.6.23/include/asm-mips/page.h
-===================================================================
---- linux-2.6.23.orig/include/asm-mips/page.h  2007-10-13 11:45:50.518600430 +0200
-+++ linux-2.6.23/include/asm-mips/page.h       2007-10-13 11:47:26.472068504 +0200
-@@ -35,6 +35,7 @@
+--- a/include/asm-mips/page.h
++++ b/include/asm-mips/page.h
+@@ -32,6 +32,7 @@
  #ifndef __ASSEMBLY__
  
  #include <linux/pfn.h>
@@ -46,7 +43,7 @@ Index: linux-2.6.23/include/asm-mips/page.h
  #include <asm/io.h>
  
  /*
-@@ -67,13 +68,16 @@
+@@ -64,13 +65,16 @@ static inline void clear_user_page(void 
                flush_data_cache_page((unsigned long)addr);
  }
  
This page took 0.020688 seconds and 4 git commands to generate.