Mesa (master): r600g: Don't blindly unmap NULL->size.

Henri Verbeet hverbeet at kemper.freedesktop.org
Sun Aug 22 10:44:14 UTC 2010


Module: Mesa
Branch: master
Commit: 8a878c266a8bf50b49d3ef8c5984790581e33133
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8a878c266a8bf50b49d3ef8c5984790581e33133

Author: Henri Verbeet <hverbeet at gmail.com>
Date:   Mon Aug 16 22:18:37 2010 +0200

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 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/gallium/winsys/r600/drm/radeon_bo.c b/src/gallium/winsys/r600/drm/radeon_bo.c
index f259ae7..a1306f6 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);




More information about the mesa-commit mailing list