From 8a878c266a8bf50b49d3ef8c5984790581e33133 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 16 Aug 2010 22:18:37 +0200 Subject: [PATCH] r600g: Don't blindly unmap NULL->size. There may actually be something mapped in that range, especially for large buffers like e.g. the GL Drawable. --- src/gallium/winsys/r600/drm/radeon_bo.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/winsys/r600/drm/radeon_bo.c b/src/gallium/winsys/r600/drm/radeon_bo.c index f259ae7fb57..a1306f6e9d2 100644 --- a/src/gallium/winsys/r600/drm/radeon_bo.c +++ b/src/gallium/winsys/r600/drm/radeon_bo.c @@ -145,7 +145,9 @@ struct radeon_bo *radeon_bo_decref(struct radeon *radeon, struct radeon_bo *bo) return NULL; } - munmap(bo->data, bo->size); + if (bo->map_count) { + munmap(bo->data, bo->size); + } memset(&args, 0, sizeof(args)); args.handle = bo->handle; drmIoctl(radeon->fd, DRM_IOCTL_GEM_CLOSE, &args); -- 2.30.2