|
@@ -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);
|