]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/blackfin/mm/sram-alloc.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / arch / blackfin / mm / sram-alloc.c
index 627e04b5ba9a8979be2149ecff27e52f6bb05458..dfd304a4a3ea113a25f23befd8ba8f0078b4bc79 100644 (file)
@@ -704,18 +704,18 @@ int sram_free_with_lsl(const void *addr)
 {
        struct sram_list_struct *lsl, **tmp;
        struct mm_struct *mm = current->mm;
+       int ret = -1;
 
        for (tmp = &mm->context.sram_list; *tmp; tmp = &(*tmp)->next)
-               if ((*tmp)->addr == addr)
-                       goto found;
-       return -1;
-found:
-       lsl = *tmp;
-       sram_free(addr);
-       *tmp = lsl->next;
-       kfree(lsl);
+               if ((*tmp)->addr == addr) {
+                       lsl = *tmp;
+                       ret = sram_free(addr);
+                       *tmp = lsl->next;
+                       kfree(lsl);
+                       break;
+               }
 
-       return 0;
+       return ret;
 }
 EXPORT_SYMBOL(sram_free_with_lsl);