drm/i915: Propagate error from drm_gem_object_init()

Propagate the real error from drm_gem_object_init(). Note this also
fixes some confusion in the error return from i915_gem_alloc_object...

v2:
(Matthew Auld)
  - updated new users of gem_alloc_object from latest drm-nightly
  - replaced occurrences of IS_ERR_OR_NULL() with IS_ERR()
v3:
(Joonas Lahtinen)
  - fix double "From:" in commit message
  - add goto teardown path
v4:
(Matthew Auld)
  - rebase with i915_gem_alloc_object name change

Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1461587533-8841-1-git-send-email-matthew.auld@intel.com
[Joonas: Removed spurious " = NULL" from _init() function]
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
This commit is contained in:
Chris Wilson
2016-04-25 13:32:13 +01:00
committed by Joonas Lahtinen
parent bcbdb6d011
commit fe3db79b0b
10 changed files with 41 additions and 33 deletions

View File

@@ -151,9 +151,9 @@ static int intelfb_alloc(struct drm_fb_helper *helper,
obj = i915_gem_object_create_stolen(dev, size);
if (obj == NULL)
obj = i915_gem_object_create(dev, size);
if (!obj) {
if (IS_ERR(obj)) {
DRM_ERROR("failed to allocate framebuffer\n");
ret = -ENOMEM;
ret = PTR_ERR(obj);
goto out;
}