i965: Remove clearing of bo->map_gtt after failure
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 1 Jul 2017 10:14:00 +0000 (11:14 +0100)
committerKenneth Graunke <kenneth@whitecape.org>
Sat, 1 Jul 2017 18:46:34 +0000 (11:46 -0700)
With the conversion to storing the result of drm_mmap to a local and not
directly to bo->map_gtt itself, we no longer should clear bo->map_gtt.
In the best the operation is redundant as we know bo->map_gtt to already
be NULL, but in the worst case we overwrite a concurrent thread that
successfully mmaped the GTT.

Fixes: 314647c4c206 ("i965: Drop global bufmgr lock from brw_bo_map_* functions.")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/brw_bufmgr.c

index 24eac5ac965bc96492c2ec75f23a34d4d02322d6..f49b8866222aac42ad97010d5689a0f119950b7b 100644 (file)
@@ -715,7 +715,6 @@ brw_bo_map_gtt(struct brw_context *brw, struct brw_bo *bo, unsigned flags)
       map = drm_mmap(0, bo->size, PROT_READ | PROT_WRITE,
                      MAP_SHARED, bufmgr->fd, mmap_arg.offset);
       if (map == MAP_FAILED) {
-         bo->map_gtt = NULL;
          DBG("%s:%d: Error mapping buffer %d (%s): %s .\n",
              __FILE__, __LINE__, bo->gem_handle, bo->name, strerror(errno));
          return NULL;