From a07ae97c75ca45c08327b53df5d8d53e56a46a8a Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Thu, 23 Mar 2017 14:58:38 -0400 Subject: [PATCH] freedreno: fix device close issues Move closing the fd to after subclass ->destroy() (since it might want to delete gem bo's, etc), and actually free() the fd_device object. Signed-off-by: Rob Clark --- freedreno/freedreno_device.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/freedreno/freedreno_device.c b/freedreno/freedreno_device.c index fcbf1402..dba7ec47 100644 --- a/freedreno/freedreno_device.c +++ b/freedreno/freedreno_device.c @@ -115,9 +115,10 @@ static void fd_device_del_impl(struct fd_device *dev) fd_bo_cache_cleanup(&dev->bo_cache, 0); drmHashDestroy(dev->handle_table); drmHashDestroy(dev->name_table); + dev->funcs->destroy(dev); if (dev->closefd) close(dev->fd); - dev->funcs->destroy(dev); + free(dev); } drm_private void fd_device_del_locked(struct fd_device *dev) -- 2.11.0