mirror of
https://github.com/armbian/linux.git
synced 2026-01-06 10:13:00 -08:00
fbdev: bfin-t350mcqb-fb: fix fbmem allocation with blanking lines
commit de145b44b9 upstream.
The current allocation does not include the memory required for blanking
lines. So avoid memory corruption when multiple devices are using the DMA
memory near each other.
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7b7be5f379
commit
ec9dd41fc7
@@ -515,9 +515,9 @@ static int __devinit bfin_t350mcqb_probe(struct platform_device *pdev)
|
||||
fbinfo->fbops = &bfin_t350mcqb_fb_ops;
|
||||
fbinfo->flags = FBINFO_FLAG_DEFAULT;
|
||||
|
||||
info->fb_buffer =
|
||||
dma_alloc_coherent(NULL, fbinfo->fix.smem_len, &info->dma_handle,
|
||||
GFP_KERNEL);
|
||||
info->fb_buffer = dma_alloc_coherent(NULL, fbinfo->fix.smem_len +
|
||||
ACTIVE_VIDEO_MEM_OFFSET,
|
||||
&info->dma_handle, GFP_KERNEL);
|
||||
|
||||
if (NULL == info->fb_buffer) {
|
||||
printk(KERN_ERR DRIVER_NAME
|
||||
@@ -587,8 +587,8 @@ out7:
|
||||
out6:
|
||||
fb_dealloc_cmap(&fbinfo->cmap);
|
||||
out4:
|
||||
dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer,
|
||||
info->dma_handle);
|
||||
dma_free_coherent(NULL, fbinfo->fix.smem_len + ACTIVE_VIDEO_MEM_OFFSET,
|
||||
info->fb_buffer, info->dma_handle);
|
||||
out3:
|
||||
framebuffer_release(fbinfo);
|
||||
out2:
|
||||
@@ -611,8 +611,9 @@ static int __devexit bfin_t350mcqb_remove(struct platform_device *pdev)
|
||||
free_irq(info->irq, info);
|
||||
|
||||
if (info->fb_buffer != NULL)
|
||||
dma_free_coherent(NULL, fbinfo->fix.smem_len, info->fb_buffer,
|
||||
info->dma_handle);
|
||||
dma_free_coherent(NULL, fbinfo->fix.smem_len +
|
||||
ACTIVE_VIDEO_MEM_OFFSET, info->fb_buffer,
|
||||
info->dma_handle);
|
||||
|
||||
fb_dealloc_cmap(&fbinfo->cmap);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user