summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Fourier <fourier.thomas@gmail.com>2026-01-12 15:00:27 +0100
committerSasha Levin <sashal@kernel.org>2026-03-04 07:21:18 -0500
commite8c5d5f6cd66e032f9aefdcc21b0c34761aef78a (patch)
tree249122add04f496cfd7cac0d8f47b615d66fb96d
parenta785c4e2a999c2d51dfcf40d317cfb30cc735d2c (diff)
fbdev: vt8500lcdfb: fix missing dma_free_coherent()
[ Upstream commit 88b3b9924337336a31cefbe99a22ed09401be74a ] 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> Signed-off-by: Sasha Levin <sashal@kernel.org>
-rw-r--r--drivers/video/fbdev/vt8500lcdfb.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/video/fbdev/vt8500lcdfb.c b/drivers/video/fbdev/vt8500lcdfb.c
index 42d39a9d5130..f62fe1a9dd62 100644
--- a/drivers/video/fbdev/vt8500lcdfb.c
+++ b/drivers/video/fbdev/vt8500lcdfb.c
@@ -367,7 +367,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);
@@ -431,6 +431,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: