]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
fbdev: vt8500lcdfb: fix missing dma_free_coherent()
authorThomas Fourier <fourier.thomas@gmail.com>
Mon, 12 Jan 2026 14:00:27 +0000 (15:00 +0100)
committerHelge Deller <deller@gmx.de>
Sat, 14 Feb 2026 10:09:46 +0000 (11:09 +0100)
fbi->fb.screen_buffer is allocated with dma_alloc_coherent() but is not
freed if the error path is reached.

Fixes: e7b995371fe1 ("video: vt8500: Add devicetree support for vt8500-fb and wm8505-fb")
Cc: <stable@vger.kernel.org>
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Signed-off-by: Helge Deller <deller@gmx.de>
drivers/video/fbdev/vt8500lcdfb.c

index b08a6fdc53fd2f1b89a0524e7e97de9878031966..85c7a99a7d6482b350cc64b4aee90bd277eec4df 100644 (file)
@@ -369,7 +369,7 @@ static int vt8500lcd_probe(struct platform_device *pdev)
        if (fbi->palette_cpu == NULL) {
                dev_err(&pdev->dev, "Failed to allocate palette buffer\n");
                ret = -ENOMEM;
-               goto failed_free_io;
+               goto failed_free_mem_virt;
        }
 
        irq = platform_get_irq(pdev, 0);
@@ -432,6 +432,9 @@ failed_free_irq:
 failed_free_palette:
        dma_free_coherent(&pdev->dev, fbi->palette_size,
                          fbi->palette_cpu, fbi->palette_phys);
+failed_free_mem_virt:
+       dma_free_coherent(&pdev->dev, fbi->fb.fix.smem_len,
+                         fbi->fb.screen_buffer, fbi->fb.fix.smem_start);
 failed_free_io:
        iounmap(fbi->regbase);
 failed_free_res: