Move releasing the VM area after closing the bo handle.
This partially fixes: https://bugs.freedesktop.org/show_bug.cgi?id=45018
Signed-off-by: Christian König <deathsimple@vodafone.de>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
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);
}