diff options
author | Dave Airlie <airlied@redhat.com> | 2016-04-14 13:07:12 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2016-04-14 13:07:12 +1000 |
commit | f9fd2adaacd8dc0ecbb38d96f3c62f20f0697176 (patch) | |
tree | fd6aeab0229b4fef75ace85a0999349ae0cc8e62 | |
parent | d00b39c17573ece6f5fb1385314877d29f540db8 (diff) | |
parent | 7d323264bec07cd71df47333c6cd8f6b36987821 (diff) |
Merge branch 'gma500-next' of git://github.com/patjak/drm-gma500 into drm-next
A few fixes and cleanups for 4.7 that's been collecting dust in my
inbox for a while.
* 'gma500-next' of git://github.com/patjak/drm-gma500:
drm/gma500/mdfld_dsi: remove bogus if check
drm/gma500: Fix possible out of bounds read
drm/gma500: fix double freeing
-rw-r--r-- | drivers/gpu/drm/gma500/framebuffer.c | 13 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/mdfld_dsi_dpi.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c | 2 |
3 files changed, 6 insertions, 15 deletions
diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c index 033d894d030e..ec2bc769742a 100644 --- a/drivers/gpu/drm/gma500/framebuffer.c +++ b/drivers/gpu/drm/gma500/framebuffer.c @@ -411,7 +411,7 @@ static int psbfb_create(struct psb_fbdev *fbdev, info = drm_fb_helper_alloc_fbi(&fbdev->psb_fb_helper); if (IS_ERR(info)) { ret = PTR_ERR(info); - goto out_err1; + goto err_free_range; } info->par = fbdev; @@ -419,7 +419,7 @@ static int psbfb_create(struct psb_fbdev *fbdev, ret = psb_framebuffer_init(dev, psbfb, &mode_cmd, backing); if (ret) - goto out_unref; + goto err_release; fb = &psbfb->base; psbfb->fbdev = info; @@ -464,14 +464,9 @@ static int psbfb_create(struct psb_fbdev *fbdev, psbfb->base.width, psbfb->base.height); return 0; -out_unref: - if (backing->stolen) - psb_gtt_free_range(dev, backing); - else - drm_gem_object_unreference_unlocked(&backing->gem); - +err_release: drm_fb_helper_release_fbi(&fbdev->psb_fb_helper); -out_err1: +err_free_range: psb_gtt_free_range(dev, backing); return ret; } diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c index 7cd87a0c2385..a05c020602bd 100644 --- a/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c +++ b/drivers/gpu/drm/gma500/mdfld_dsi_dpi.c @@ -979,11 +979,7 @@ struct mdfld_dsi_encoder *mdfld_dsi_dpi_init(struct drm_device *dev, return NULL; } - if (dsi_connector->pipe) - dpi_output->panel_on = 0; - else - dpi_output->panel_on = 0; - + dpi_output->panel_on = 0; dpi_output->dev = dev; if (mdfld_get_panel_type(dev, pipe) != TC35876X) dpi_output->p_funcs = p_funcs; diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c index 6b43ae3ffd73..1616af209bfc 100644 --- a/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c +++ b/drivers/gpu/drm/gma500/mdfld_dsi_pkg_sender.c @@ -72,7 +72,7 @@ static const char *const dsi_errors[] = { "RX Prot Violation", "HS Generic Write FIFO Full", "LP Generic Write FIFO Full", - "Generic Read Data Avail" + "Generic Read Data Avail", "Special Packet Sent", "Tearing Effect", }; |