Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 357947
b: refs/heads/master
c: 80f0b5a
h: refs/heads/master
i:
  357945: ab748f0
  357943: 17df9fc
v: v3
  • Loading branch information
Daniel Vetter committed Jan 20, 2013
1 parent ec3bb3e commit 6815e10
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c7d73f6a8ad71f9d9f58c86981322c6e48093a4f
refs/heads/master: 80f0b5aff8f49f63eaf08bdae243de3a8ea3f77e
30 changes: 16 additions & 14 deletions trunk/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c
Original file line number Diff line number Diff line change
Expand Up @@ -681,14 +681,10 @@ static int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv,
goto out_err1;
}

ret = drm_framebuffer_init(dev, &vfbs->base.base,
&vmw_framebuffer_surface_funcs);
if (ret)
goto out_err2;

if (!vmw_surface_reference(surface)) {
DRM_ERROR("failed to reference surface %p\n", surface);
goto out_err3;
ret = -EINVAL;
goto out_err2;
}

/* XXX get the first 3 from the surface info */
Expand All @@ -707,10 +703,15 @@ static int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv,

*out = &vfbs->base;

ret = drm_framebuffer_init(dev, &vfbs->base.base,
&vmw_framebuffer_surface_funcs);
if (ret)
goto out_err3;

return 0;

out_err3:
drm_framebuffer_cleanup(&vfbs->base.base);
vmw_surface_unreference(&surface);
out_err2:
kfree(vfbs);
out_err1:
Expand Down Expand Up @@ -1053,14 +1054,10 @@ static int vmw_kms_new_framebuffer_dmabuf(struct vmw_private *dev_priv,
goto out_err1;
}

ret = drm_framebuffer_init(dev, &vfbd->base.base,
&vmw_framebuffer_dmabuf_funcs);
if (ret)
goto out_err2;

if (!vmw_dmabuf_reference(dmabuf)) {
DRM_ERROR("failed to reference dmabuf %p\n", dmabuf);
goto out_err3;
ret = -EINVAL;
goto out_err2;
}

vfbd->base.base.bits_per_pixel = mode_cmd->bpp;
Expand All @@ -1077,10 +1074,15 @@ static int vmw_kms_new_framebuffer_dmabuf(struct vmw_private *dev_priv,
vfbd->base.user_handle = mode_cmd->handle;
*out = &vfbd->base;

ret = drm_framebuffer_init(dev, &vfbd->base.base,
&vmw_framebuffer_dmabuf_funcs);
if (ret)
goto out_err3;

return 0;

out_err3:
drm_framebuffer_cleanup(&vfbd->base.base);
vmw_dmabuf_unreference(&dmabuf);
out_err2:
kfree(vfbd);
out_err1:
Expand Down

0 comments on commit 6815e10

Please sign in to comment.