summaryrefslogtreecommitdiff
path: root/target/linux/patches/4.4.289/crisv32.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/patches/4.4.289/crisv32.patch')
-rw-r--r--target/linux/patches/4.4.289/crisv32.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/patches/4.4.289/crisv32.patch b/target/linux/patches/4.4.289/crisv32.patch
new file mode 100644
index 000000000..cb9b0d028
--- /dev/null
+++ b/target/linux/patches/4.4.289/crisv32.patch
@@ -0,0 +1,33 @@
+diff -Nur linux-4.4.13.orig/arch/cris/arch-v32/mm/intmem.c linux-4.4.13/arch/cris/arch-v32/mm/intmem.c
+--- linux-4.4.13.orig/arch/cris/arch-v32/mm/intmem.c 2016-06-08 03:14:51.000000000 +0200
++++ linux-4.4.13/arch/cris/arch-v32/mm/intmem.c 2016-06-21 20:40:18.919361891 +0200
+@@ -113,14 +113,14 @@
+
+ allocation->status = STATUS_FREE;
+ /* Join with prev and/or next if also free */
+- if ((prev != &intmem_allocations) &&
++ if ((&prev->entry != &intmem_allocations) &&
+ (prev->status == STATUS_FREE)) {
+ prev->size += allocation->size;
+ list_del(&allocation->entry);
+ kfree(allocation);
+ allocation = prev;
+ }
+- if ((next != &intmem_allocations) &&
++ if ((&next->entry != &intmem_allocations) &&
+ (next->status == STATUS_FREE)) {
+ allocation->size += next->size;
+ list_del(&next->entry);
+@@ -145,5 +145,11 @@
+ (unsigned long)intmem_virtual + MEM_INTMEM_START +
+ RESERVED_SIZE);
+ }
+-device_initcall(crisv32_intmem_init);
+
++static int __init crisv32_intmem_setup(void)
++{
++ crisv32_intmem_init();
++
++ return 0;
++}
++device_initcall(crisv32_intmem_setup);