CHROMIUM: drm/exynos: gem: Combine duplicate error handling in gem_create
authorDaniel Kurtz <djkurtz@chromium.org>
Wed, 2 Jan 2013 10:25:58 +0000 (18:25 +0800)
committerChromeBot <chrome-bot@google.com>
Sat, 5 Jan 2013 07:43:40 +0000 (23:43 -0800)
The error handling for buffer creation is the same for both CONTIG and
NONCONTIG, so refactor a bit.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
BUG=chromium-os:37097
TEST=builds clean; sanity check boot on device

Change-Id: I296198291f06fe3dda9b9989ea139badbba53004
Reviewed-on: https://gerrit.chromium.org/gerrit/40442
Reviewed-by: Stéphane Marchesin <marcheu@chromium.org>
Commit-Queue: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
drivers/gpu/drm/exynos/exynos_drm_gem.c

index ea50669..5de2d2d 100644 (file)
@@ -378,18 +378,13 @@ struct exynos_drm_gem_obj *exynos_drm_gem_create(struct drm_device *dev,
         * allocate all pages as desired size if user wants to allocate
         * physically non-continuous memory.
         */
-       if (flags & EXYNOS_BO_NONCONTIG) {
+       if (flags & EXYNOS_BO_NONCONTIG)
                ret = exynos_drm_gem_get_pages(&exynos_gem_obj->base);
-               if (ret < 0) {
-                       drm_gem_object_release(&exynos_gem_obj->base);
-                       goto err_fini_buf;
-               }
-       } else {
+       else
                ret = exynos_drm_alloc_buf(dev, buf, flags);
-               if (ret < 0) {
-                       drm_gem_object_release(&exynos_gem_obj->base);
-                       goto err_fini_buf;
-               }
+       if (ret < 0) {
+               drm_gem_object_release(&exynos_gem_obj->base);
+               goto err_fini_buf;
        }
 
        return exynos_gem_obj;