summaryrefslogtreecommitdiff
path: root/src/gallium/winsys/r600
diff options
context:
space:
mode:
authorTilman Sauerbeck <tilman@code-monkey.de>2010-10-23 19:05:26 +0200
committerTilman Sauerbeck <tilman@code-monkey.de>2010-10-27 08:44:35 +0200
commitc6b10cd986c53f1a99a90f32a66d5058f1d1a3eb (patch)
tree0764c9a6b7635375ab891926559593d07cada46d /src/gallium/winsys/r600
parent412b9608838b872bc294569b3ee913343a7e66f6 (diff)
r600g: In radeon_bo(), call LIST_INITHEAD early.
radeon_bo_destroy() will want to read the list field. Without this patch, we'd end up evaluating the list pointers before they have been properly set up when we destroyed the newly created bo if it cannot be mapped. Signed-off-by: Tilman Sauerbeck <tilman@code-monkey.de>
Diffstat (limited to 'src/gallium/winsys/r600')
-rw-r--r--src/gallium/winsys/r600/drm/radeon_bo.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/winsys/r600/drm/radeon_bo.c b/src/gallium/winsys/r600/drm/radeon_bo.c
index 9d664b7e53..2d08686fc4 100644
--- a/src/gallium/winsys/r600/drm/radeon_bo.c
+++ b/src/gallium/winsys/r600/drm/radeon_bo.c
@@ -82,6 +82,7 @@ struct radeon_bo *radeon_bo(struct radeon *radeon, unsigned handle,
bo->handle = handle;
pipe_reference_init(&bo->reference, 1);
bo->alignment = alignment;
+ LIST_INITHEAD(&bo->fencedlist);
if (handle) {
struct drm_gem_open open_arg;
@@ -123,7 +124,6 @@ struct radeon_bo *radeon_bo(struct radeon *radeon, unsigned handle,
if (ptr) {
memcpy(bo->data, ptr, size);
}
- LIST_INITHEAD(&bo->fencedlist);
return bo;
}