OSDN Git Service

winsys/amdgpu: fix a device handle leak in amdgpu_winsys_create
authorMarek Olšák <marek.olsak@amd.com>
Mon, 19 Nov 2018 23:17:40 +0000 (18:17 -0500)
committerEmil Velikov <emil.l.velikov@gmail.com>
Mon, 26 Nov 2018 15:37:00 +0000 (15:37 +0000)
Cc: 18.2 18.3 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
(cherry picked from commit d4e7d8b7f053db081a4ffdb59dc53f3531b0e60b)

src/gallium/winsys/amdgpu/drm/amdgpu_winsys.c

index f32bbd9..b20d702 100644 (file)
@@ -280,6 +280,12 @@ amdgpu_winsys_create(int fd, const struct pipe_screen_config *config,
    if (ws) {
       pipe_reference(NULL, &ws->reference);
       simple_mtx_unlock(&dev_tab_mutex);
+
+      /* Release the device handle, because we don't need it anymore.
+       * This function is returning an existing winsys instance, which
+       * has its own device handle.
+       */
+      amdgpu_device_deinitialize(dev);
       return &ws->base;
    }