Commit 88b3b992 authored by Thomas Fourier's avatar Thomas Fourier Committed by Helge Deller
Browse files

fbdev: vt8500lcdfb: fix missing dma_free_coherent()



fbi->fb.screen_buffer is allocated with dma_alloc_coherent() but is not
freed if the error path is reached.

Fixes: e7b99537 ("video: vt8500: Add devicetree support for vt8500-fb and wm8505-fb")
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarThomas Fourier <fourier.thomas@gmail.com>
Signed-off-by: default avatarHelge Deller <deller@gmx.de>
parent 994fcd4b
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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 @@ static int vt8500lcd_probe(struct platform_device *pdev)
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: