From: Dave Airlie Date: Thu, 29 Apr 2010 08:37:59 +0000 (+1000) Subject: drm/radeon/kms: take vram mutex pointer before derefing object. X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=f4b7fb94c576265ceffc43031805ade32fa80c6a;p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git drm/radeon/kms: take vram mutex pointer before derefing object. since derefing the object might free it. Signed-off-by: Dave Airlie --- diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c index 06def708b014..a8d18bcae7db 100644 --- a/drivers/gpu/drm/radeon/radeon_object.c +++ b/drivers/gpu/drm/radeon/radeon_object.c @@ -168,13 +168,15 @@ void radeon_bo_kunmap(struct radeon_bo *bo) void radeon_bo_unref(struct radeon_bo **bo) { struct ttm_buffer_object *tbo; + struct radeon_device *rdev; if ((*bo) == NULL) return; + rdev = (*bo)->rdev; tbo = &((*bo)->tbo); - mutex_lock(&(*bo)->rdev->vram_mutex); + mutex_lock(&rdev->vram_mutex); ttm_bo_unref(&tbo); - mutex_unlock(&(*bo)->rdev->vram_mutex); + mutex_unlock(&rdev->vram_mutex); if (tbo == NULL) *bo = NULL; }