cris: intmem: fix pointer comparison compile warning
authorNiklas Cassel <nks@flawful.org>
Thu, 22 Sep 2016 14:08:38 +0000 (16:08 +0200)
committerJesper Nilsson <jespern@axis.com>
Thu, 22 Sep 2016 14:11:18 +0000 (16:11 +0200)
The code previously depended on list_head being defined
as the first item in struct intmem_allocation.

arch/cris/arch-v32/mm/intmem.c: In function ‘crisv32_intmem_free’:
arch/cris/arch-v32/mm/intmem.c:116:14: warning: comparison of distinct pointer types lacks a cast
    if ((prev != &intmem_allocations) &&
              ^
arch/cris/arch-v32/mm/intmem.c:123:14: warning: comparison of distinct pointer types lacks a cast
    if ((next != &intmem_allocations) &&
              ^

Signed-off-by: Niklas Cassel <nks@flawful.org>
Signed-off-by: Jesper Nilsson <jesper.nilsson@axis.com>
arch/cris/arch-v32/mm/intmem.c

index bad735d..c807284 100644 (file)
@@ -113,14 +113,14 @@ void crisv32_intmem_free(void* addr)
 
                        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);