From: Christophe JAILLET Date: Sat, 31 Aug 2019 10:00:24 +0000 (+0200) Subject: pxa168fb: Fix the function used to release some memory in an error handling path X-Git-Tag: v3.16.84~65 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dfae25c5d2107bdfec7a06bdf910a27b24af6bd6;p=thirdparty%2Fkernel%2Fstable.git pxa168fb: Fix the function used to release some memory in an error handling path commit 3c911fe799d1c338d94b78e7182ad452c37af897 upstream. In the probe function, some resources are allocated using 'dma_alloc_wc()', they should be released with 'dma_free_wc()', not 'dma_free_coherent()'. We already use 'dma_free_wc()' in the remove function, but not in the error handling path of the probe function. Also, remove a useless 'PAGE_ALIGN()'. 'info->fix.smem_len' is already PAGE_ALIGNed. Fixes: 638772c7553f ("fb: add support of LCD display controller on pxa168/910 (base layer)") Signed-off-by: Christophe JAILLET Reviewed-by: Lubomir Rintel CC: YueHaibing Signed-off-by: Bartlomiej Zolnierkiewicz Link: https://patchwork.freedesktop.org/patch/msgid/20190831100024.3248-1-christophe.jaillet@wanadoo.fr [bwh: Backported to 3.16: Use dma_free_writecombine().] Signed-off-by: Ben Hutchings --- diff --git a/drivers/video/fbdev/pxa168fb.c b/drivers/video/fbdev/pxa168fb.c index c95b9e46d48ff..d24018124d11c 100644 --- a/drivers/video/fbdev/pxa168fb.c +++ b/drivers/video/fbdev/pxa168fb.c @@ -772,8 +772,8 @@ failed_free_cmap: failed_free_clk: clk_disable(fbi->clk); failed_free_fbmem: - dma_free_coherent(fbi->dev, info->fix.smem_len, - info->screen_base, fbi->fb_start_dma); + dma_free_writecombine(fbi->dev, info->fix.smem_len, + info->screen_base, fbi->fb_start_dma); failed_free_info: kfree(info); failed_put_clk: @@ -809,7 +809,7 @@ static int pxa168fb_remove(struct platform_device *pdev) irq = platform_get_irq(pdev, 0); - dma_free_writecombine(fbi->dev, PAGE_ALIGN(info->fix.smem_len), + dma_free_writecombine(fbi->dev, info->fix.smem_len, info->screen_base, info->fix.smem_start); clk_disable(fbi->clk);