lkml.org 
[lkml]   [2010]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[03/34] fbdev: bfin-t350mcqb-fb: fix fbmem allocation with blanking lines
    2.6.34-stable review patch.  If anyone has any objections, please let us know.

    ------------------
    From: Michael Hennerich <michael.hennerich@analog.com>

    commit de145b44b95b9d3212a82d1c0f29b09778ef33c5 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>

    ---
    drivers/video/bfin-t350mcqb-fb.c | 15 ++++++++-------
    1 file changed, 8 insertions(+), 7 deletions(-)
    --- a/drivers/video/bfin-t350mcqb-fb.c
    +++ b/drivers/video/bfin-t350mcqb-fb.c
    @@ -515,9 +515,9 @@ static int __devinit bfin_t350mcqb_probe
    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_remov
    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);




    \
     
     \ /
      Last update: 2010-05-25 01:19    [from the cache]
    ©2003-2014 Jasper Spaans. Advertise on this site