Skip to content

Commit

Permalink
fbdev: bfin-t350mcqb-fb: fix fbmem allocation with blanking lines
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
Cc: <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
mhennerich authored and torvalds committed May 12, 2010
1 parent 747388d commit de145b4
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions drivers/video/bfin-t350mcqb-fb.c
Original file line number Diff line number Diff line change
Expand Up @@ -488,9 +488,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
Expand Down Expand Up @@ -568,8 +568,8 @@ static int __devinit bfin_t350mcqb_probe(struct platform_device *pdev)
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:
Expand All @@ -592,8 +592,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);

Expand Down

0 comments on commit de145b4

Please sign in to comment.