From: Marek Olšák Date: Fri, 8 Apr 2011 18:42:03 +0000 (+0200) Subject: r300g: fix crash when adding a new relocation X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=aac4bae98651c928ce298aecf158b0aa1a7fabce;p=mesa.git 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. --- 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;