diff options
author | Scott Wood <scottwood@freescale.com> | 2014-04-07 23:49:35 (GMT) |
---|---|---|
committer | Scott Wood <scottwood@freescale.com> | 2014-04-07 23:49:35 (GMT) |
commit | 62b8c978ee6b8d135d9e7953221de58000dba986 (patch) | |
tree | 683b04b2e627f6710c22c151b23c8cc9a165315e /drivers/video/uvesafb.c | |
parent | 78fd82238d0e5716578c326404184a27ba67fd6e (diff) | |
download | linux-fsl-qoriq-62b8c978ee6b8d135d9e7953221de58000dba986.tar.xz |
Rewind v3.13-rc3+ (78fd82238d0e5716) to v3.12
Diffstat (limited to 'drivers/video/uvesafb.c')
-rw-r--r-- | drivers/video/uvesafb.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/drivers/video/uvesafb.c b/drivers/video/uvesafb.c index 256fba7..7aec6f3 100644 --- a/drivers/video/uvesafb.c +++ b/drivers/video/uvesafb.c @@ -233,7 +233,8 @@ out: static void uvesafb_free(struct uvesafb_ktask *task) { if (task) { - kfree(task->done); + if (task->done) + kfree(task->done); kfree(task); } } @@ -1331,8 +1332,8 @@ setmode: FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_TRUECOLOR; info->fix.line_length = mode->bytes_per_scan_line; -out: - kfree(crtc); +out: if (crtc != NULL) + kfree(crtc); uvesafb_free(task); return err; @@ -1770,11 +1771,13 @@ static int uvesafb_probe(struct platform_device *dev) "using %dk, total %dk\n", info->fix.smem_start, info->screen_base, info->fix.smem_len/1024, par->vbe_ib.total_memory * 64); - fb_info(info, "%s frame buffer device\n", info->fix.id); + printk(KERN_INFO "fb%d: %s frame buffer device\n", info->node, + info->fix.id); err = sysfs_create_group(&dev->dev.kobj, &uvesafb_dev_attgrp); if (err != 0) - fb_warn(info, "failed to register attributes\n"); + printk(KERN_WARNING "fb%d: failed to register attributes\n", + info->node); return 0; @@ -1790,7 +1793,8 @@ out_mode: fb_destroy_modedb(info->monspecs.modedb); fb_dealloc_cmap(&info->cmap); out: - kfree(par->vbe_modes); + if (par->vbe_modes) + kfree(par->vbe_modes); framebuffer_release(info); return err; @@ -1813,9 +1817,12 @@ static int uvesafb_remove(struct platform_device *dev) fb_dealloc_cmap(&info->cmap); if (par) { - kfree(par->vbe_modes); - kfree(par->vbe_state_orig); - kfree(par->vbe_state_saved); + if (par->vbe_modes) + kfree(par->vbe_modes); + if (par->vbe_state_orig) + kfree(par->vbe_state_orig); + if (par->vbe_state_saved) + kfree(par->vbe_state_saved); } framebuffer_release(info); |