On 05/11/2017 09:57 PM, Emil Velikov wrote:
From: Emil Velikov <emil.veli...@collabora.com>

Cc: Tomasz Figa <tf...@chromium.org>
Cc: Tapani Pälli <tapani.pa...@intel.com>
Signed-off-by: Emil Velikov <emil.veli...@collabora.com>
---
  src/egl/drivers/dri2/platform_android.c | 27 +++++++++------------------
  1 file changed, 9 insertions(+), 18 deletions(-)

diff --git a/src/egl/drivers/dri2/platform_android.c 
b/src/egl/drivers/dri2/platform_android.c
index 49cbeb4698e..f1038957850 100644
--- a/src/egl/drivers/dri2/platform_android.c
+++ b/src/egl/drivers/dri2/platform_android.c
@@ -1107,11 +1107,12 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay 
*dpy)
     if (!dri2_dpy)
        return _eglError(EGL_BAD_ALLOC, "eglInitialize");
+ dri2_dpy->fd = -1;
     ret = hw_get_module(GRALLOC_HARDWARE_MODULE_ID,
                         (const hw_module_t **)&dri2_dpy->gralloc);
     if (ret) {
        err = "DRI2: failed to get gralloc module";
-      goto cleanup_display;
+      goto cleanup;
     }
dpy->DriverData = (void *) dri2_dpy;
@@ -1119,18 +1120,18 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay 
*dpy)
     dri2_dpy->fd = droid_open_device(dri2_dpy);
     if (dri2_dpy->fd < 0) {
        err = "DRI2: failed to open device";
-      goto cleanup_display;
+      goto cleanup;
     }
dri2_dpy->driver_name = loader_get_driver_for_fd(dri2_dpy->fd);
     if (dri2_dpy->driver_name == NULL) {
        err = "DRI2: failed to get driver name";
-      goto cleanup_device;
+      goto cleanup;
     }
if (!dri2_load_driver(dpy)) {
        err = "DRI2: failed to load driver";
-      goto cleanup_driver_name;
+      goto cleanup;
     }
dri2_dpy->is_render_node = drmGetNodeTypeFromFd(dri2_dpy->fd) == DRM_NODE_RENDER;
@@ -1144,12 +1145,12 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay 
*dpy)
if (!dri2_create_screen(dpy)) {
        err = "DRI2: failed to create screen";
-      goto cleanup_driver;
+      goto cleanup;
     }
if (!droid_add_configs_for_visuals(drv, dpy)) {
        err = "DRI2: failed to add configs";
-      goto cleanup_screen;
+      goto cleanup;
     }
dpy->Extensions.ANDROID_framebuffer_target = EGL_TRUE;
@@ -1164,17 +1165,7 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay 
*dpy)
return EGL_TRUE; -cleanup_screen:
-   dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen);
-cleanup_driver:
-   dlclose(dri2_dpy->driver);
-cleanup_driver_name:
-   free(dri2_dpy->driver_name);
-cleanup_device:
-   close(dri2_dpy->fd);
-cleanup_display:
-   free(dri2_dpy);
-   dpy->DriverData = NULL;
-
+cleanup:
+   dri2_display_destroy(disp);

disp -> dpy

     return _eglError(EGL_NOT_INITIALIZED, err);
  }

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to