swim: Release memory region after incorrect return/goto
authorJoe Perches <joe@perches.com>
Tue, 4 Jun 2013 18:34:35 +0000 (11:34 -0700)
committerGeert Uytterhoeven <geert@linux-m68k.org>
Mon, 24 Jun 2013 17:44:19 +0000 (19:44 +0200)
The code uses

return foo;
goto err_type;

when instead the form should have been

ret = foo;
goto err_type;

Here this causes a useful release_mem_region to be skipped.

Signed-off-by: Joe Perches <joe@perches.com>
Reviewed-by: Laurent Vivier <Laurent@Vivier.EU>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
drivers/block/swim.c

index 2f445b7..8ed6ccb 100644 (file)
@@ -893,7 +893,7 @@ static int swim_probe(struct platform_device *dev)
 
        swim_base = ioremap(res->start, resource_size(res));
        if (!swim_base) {
-               return -ENOMEM;
+               ret = -ENOMEM;
                goto out_release_io;
        }