[Mesa-dev] [PATCH 1/2] radeon/winsys: fix winsys VM handling

Christian König deathsimple at vodafone.de
Mon Aug 6 09:14:54 PDT 2012


Move releasing the VM area after closing the bo handle.

Signed-off-by: Christian König <deathsimple at vodafone.de>
---
 src/gallium/winsys/radeon/drm/radeon_drm_bo.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
index 2626586..464842c 100644
--- a/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
+++ b/src/gallium/winsys/radeon/drm/radeon_drm_bo.c
@@ -319,13 +319,14 @@ static void radeon_bo_destroy(struct pb_buffer *_buf)
     if (bo->ptr)
         os_munmap(bo->ptr, bo->base.size);
 
+    /* Close object. */
+    args.handle = bo->handle;
+    drmIoctl(bo->rws->fd, DRM_IOCTL_GEM_CLOSE, &args);
+
     if (mgr->va) {
         radeon_bomgr_free_va(mgr, bo->va, bo->va_size);
     }
 
-    /* Close object. */
-    args.handle = bo->handle;
-    drmIoctl(bo->rws->fd, DRM_IOCTL_GEM_CLOSE, &args);
     pipe_mutex_destroy(bo->map_mutex);
     FREE(bo);
 }
-- 
1.7.9.5



More information about the mesa-dev mailing list