diff options
author | Mike Frysinger <vapier@gentoo.org> | 2010-12-06 22:12:23 +0100 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-01-10 13:18:26 +0100 |
commit | 25f3ff2c445822793d22ac51e3dcb22a694e3cd4 (patch) | |
tree | d1bfa0640d2e94cdefd9d2a83701c2460d326f18 /arch | |
parent | Blackfin: boards: add missing "static" to peripheral lists (diff) | |
download | linux-25f3ff2c445822793d22ac51e3dcb22a694e3cd4.tar.xz linux-25f3ff2c445822793d22ac51e3dcb22a694e3cd4.zip |
Blackfin: sram_free_with_lsl: do not ignore return value of sram_free
If there was an error in the lower free functions, we need to pass that
back up so the calling process is able to check things.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/blackfin/mm/sram-alloc.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/arch/blackfin/mm/sram-alloc.c b/arch/blackfin/mm/sram-alloc.c index 627e04b5ba9a..dfd304a4a3ea 100644 --- a/arch/blackfin/mm/sram-alloc.c +++ b/arch/blackfin/mm/sram-alloc.c @@ -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); |