Hi,
sorry for the noise, I have messed up my https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ usage. I thought I was looking at the 3.16.83 branch, but I was not.
The patch looks good to me.
CJ
Le 21/05/2020 à 16:09, Marion & Christophe JAILLET a écrit :
Hi,
I don't think that this one is applicable to 3.16.x
The remove function and the error handling path of the probe function both use 'dma_free_wc'. I've not look in details, but it looks consistent and the patch would not apply as-is anyway.
just my 2c.
CJ
Le 20/05/2020 à 16:14, Ben Hutchings a écrit :
3.16.84-rc1 review patch. If anyone has any objections, please let me know.
From: Christophe JAILLET christophe.jaillet@wanadoo.fr
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 christophe.jaillet@wanadoo.fr Reviewed-by: Lubomir Rintel lkundrak@v3.sk CC: YueHaibing yuehaibing@huawei.com Signed-off-by: Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com Link: https://patchwork.freedesktop.org/patch/msgid/20190831100024.3248-1-christop... [bwh: Backported to 3.16: Use dma_free_writecombine().] Signed-off-by: Ben Hutchings ben@decadent.org.uk
drivers/video/fbdev/pxa168fb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
--- 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 platfo 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);