openwrt/target/linux/brcm47xx/patches-2.6.30/301-kmod-fuse-dcache-bug-r4k.patch
Hauke Mehrtens 74705fe7eb Port to kernel 2.6.30.
There is an error in the unlzma system in the kernel.
A lzma compressed squashfs filesystem does not work for me.
This should compile and works for me on my Asus WL-500GP, please test it on more systems.

SVN-Revision: 16441
2009-06-13 21:20:53 +00:00

32 lines
934 B
Diff

--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
@@ -360,7 +360,7 @@ static inline void local_r4k___flush_cac
}
}
-static void r4k___flush_cache_all(void)
+void r4k___flush_cache_all(void)
{
r4k_on_each_cpu(local_r4k___flush_cache_all, NULL, 1);
}
@@ -524,7 +524,7 @@ static inline void local_r4k_flush_cache
}
}
-static void r4k_flush_cache_page(struct vm_area_struct *vma,
+void r4k_flush_cache_page(struct vm_area_struct *vma,
unsigned long addr, unsigned long pfn)
{
struct flush_cache_page_args args;
@@ -1443,3 +1443,10 @@ void __cpuinit r4k_cache_init(void)
coherency_setup();
#endif
}
+
+// fuse package DCACHE BUG patch exports
+void (*fuse_flush_cache_all)(void) = r4k___flush_cache_all;
+void (*fuse_flush_cache_page)(struct vm_area_struct *vma, unsigned long page,
+ unsigned long pfn) = r4k_flush_cache_page;
+EXPORT_SYMBOL(fuse_flush_cache_page);
+EXPORT_SYMBOL(fuse_flush_cache_all);