From aac4bae98651c928ce298aecf158b0aa1a7fabce Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Fri, 8 Apr 2011 20:42:03 +0200 Subject: [PATCH] r300g: fix crash when adding a new relocation No idea why it's so hard to reproduce. Broken with: c35572352e3e92683988ee8d151b47f4190d62f9 Thanks to Toni Spets for assistance. --- src/gallium/winsys/radeon/drm/radeon_drm_cs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c index 7576f3ac5fd..f23533622df 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_cs.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_cs.c @@ -265,8 +265,9 @@ static void radeon_add_reloc(struct radeon_cs_context *csc, } /* Initialize the new relocation. */ - p_atomic_inc(&bo->num_cs_references); + csc->relocs_bo[csc->crelocs] = NULL; radeon_bo_reference(&csc->relocs_bo[csc->crelocs], bo); + p_atomic_inc(&bo->num_cs_references); reloc = &csc->relocs[csc->crelocs]; reloc->handle = bo->handle; reloc->read_domains = rd; -- 2.30.2