video: sa1100fb: fix video memory allocation leak
authorRussell King <rmk+kernel@armlinux.org.uk>
Tue, 17 Oct 2017 14:01:13 +0000 (16:01 +0200)
committerBartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Tue, 17 Oct 2017 14:01:13 +0000 (16:01 +0200)
Don't leak the video memory allocation if register_framebuffer() fails.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/sa1100fb.c

index 16a974471c02c77a81177fda0ad693b442d2d61a..56d514b5d252e8b59d58d24cc9286d825e2a5a0c 100644 (file)
@@ -1262,8 +1262,11 @@ static int sa1100fb_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, fbi);
 
        ret = register_framebuffer(&fbi->fb);
-       if (ret < 0)
-               goto failed;
+       if (ret < 0) {
+               dma_free_wc(fbi->dev, fbi->map_size, fbi->map_cpu,
+                           fbi->map_dma);
+               return ret;
+       }
 
 #ifdef CONFIG_CPU_FREQ
        fbi->freq_transition.notifier_call = sa1100fb_freq_transition;
@@ -1274,9 +1277,6 @@ static int sa1100fb_probe(struct platform_device *pdev)
 
        /* This driver cannot be unloaded at the moment */
        return 0;
-
- failed:
-       return ret;
 }
 
 static struct platform_driver sa1100fb_driver = {