From 56a80535b61a274de7bb88767e5ccd53f781e892 Mon Sep 17 00:00:00 2001 From: Tilman Sauerbeck Date: Thu, 9 Sep 2010 14:57:32 +0200 Subject: [PATCH] r600g: Fixed a bo leak in the error path of radeon_ctx_set_bo_new(). Signed-off-by: Tilman Sauerbeck --- src/gallium/winsys/r600/drm/radeon_ctx.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/gallium/winsys/r600/drm/radeon_ctx.c b/src/gallium/winsys/r600/drm/radeon_ctx.c index bd0916aeb0b..a3ce7df7562 100644 --- a/src/gallium/winsys/r600/drm/radeon_ctx.c +++ b/src/gallium/winsys/r600/drm/radeon_ctx.c @@ -34,7 +34,7 @@ static int radeon_ctx_set_bo_new(struct radeon_ctx *ctx, struct radeon_bo *bo) { if (ctx->nbo >= RADEON_CTX_MAX_PM4) return -EBUSY; - ctx->bo[ctx->nbo] = bo; + ctx->bo[ctx->nbo] = radeon_bo_incref(ctx->radeon, bo); ctx->nbo++; return 0; } @@ -137,7 +137,6 @@ static int radeon_ctx_state_bo(struct radeon_ctx *ctx, struct radeon_state *stat break; } if (j == ctx->nbo) { - radeon_bo_incref(ctx->radeon, state->bo[i]); r = radeon_ctx_set_bo_new(ctx, state->bo[i]); if (r) return r; -- 2.30.2