diff --git a/target/linux/generic-2.6/patches-2.6.30/022-mips_use_generic_thread_info_allocator.patch b/target/linux/generic-2.6/patches-2.6.30/022-mips_use_generic_thread_info_allocator.patch
new file mode 100644
index 0000000000000000000000000000000000000000..80c34046a04c9f7b6889560cf060719a908f36be
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.30/022-mips_use_generic_thread_info_allocator.patch
@@ -0,0 +1,18 @@
+--- a/arch/mips/include/asm/thread_info.h
++++ b/arch/mips/include/asm/thread_info.h
+@@ -85,6 +85,7 @@ register struct thread_info *__current_t
+ #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
+ #define THREAD_MASK (THREAD_SIZE - 1UL)
+ 
++#if 0
+ #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
+ 
+ #ifdef CONFIG_DEBUG_STACK_USAGE
+@@ -101,6 +102,7 @@ register struct thread_info *__current_t
+ #endif
+ 
+ #define free_thread_info(info) kfree(info)
++#endif
+ 
+ #endif /* !__ASSEMBLY__ */
+ 
diff --git a/target/linux/generic-2.6/patches-2.6.31/022-mips_use_generic_thread_info_allocator.patch b/target/linux/generic-2.6/patches-2.6.31/022-mips_use_generic_thread_info_allocator.patch
new file mode 100644
index 0000000000000000000000000000000000000000..737e51bd202c6a88f09058edbd67f0bdc8fd0fd3
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.31/022-mips_use_generic_thread_info_allocator.patch
@@ -0,0 +1,18 @@
+--- a/arch/mips/include/asm/thread_info.h
++++ b/arch/mips/include/asm/thread_info.h
+@@ -83,6 +83,7 @@ register struct thread_info *__current_t
+ #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
+ #define THREAD_MASK (THREAD_SIZE - 1UL)
+ 
++#if 0
+ #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
+ 
+ #ifdef CONFIG_DEBUG_STACK_USAGE
+@@ -99,6 +100,7 @@ register struct thread_info *__current_t
+ #endif
+ 
+ #define free_thread_info(info) kfree(info)
++#endif
+ 
+ #endif /* !__ASSEMBLY__ */
+ 
diff --git a/target/linux/generic-2.6/patches-2.6.32/022-mips_use_generic_thread_info_allocator.patch b/target/linux/generic-2.6/patches-2.6.32/022-mips_use_generic_thread_info_allocator.patch
new file mode 100644
index 0000000000000000000000000000000000000000..786afd1dc6163f68fae607654ff231d58af46d11
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.32/022-mips_use_generic_thread_info_allocator.patch
@@ -0,0 +1,18 @@
+--- a/arch/mips/include/asm/thread_info.h
++++ b/arch/mips/include/asm/thread_info.h
+@@ -83,6 +83,7 @@ register struct thread_info *__current_t
+ #define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)
+ #define THREAD_MASK (THREAD_SIZE - 1UL)
+ 
++#if 0
+ #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR
+ 
+ #ifdef CONFIG_DEBUG_STACK_USAGE
+@@ -92,6 +93,7 @@ register struct thread_info *__current_t
+ #endif
+ 
+ #define free_thread_info(info) kfree(info)
++#endif
+ 
+ #endif /* !__ASSEMBLY__ */
+