From: Thomas Hellstrom Date: Tue, 16 Nov 2010 14:21:08 +0000 (+0100) Subject: drm/ttm: Use kref_sub instead of repeatedly calling kref_put X-Git-Tag: v2.6.38-rc1~419^2~42^2~7 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=2357cbe5f4ca8a52329c2c2a26b68839870d5d43;p=~shefty%2Frdma-dev.git drm/ttm: Use kref_sub instead of repeatedly calling kref_put Signed-off-by: Thomas Hellstrom Signed-off-by: Dave Airlie --- diff --git a/drivers/gpu/drm/ttm/ttm_bo.c b/drivers/gpu/drm/ttm/ttm_bo.c index a586378b1b2..9ef893d5da8 100644 --- a/drivers/gpu/drm/ttm/ttm_bo.c +++ b/drivers/gpu/drm/ttm/ttm_bo.c @@ -266,10 +266,8 @@ static void ttm_bo_ref_bug(struct kref *list_kref) void ttm_bo_list_ref_sub(struct ttm_buffer_object *bo, int count, bool never_free) { - while (count--) - kref_put(&bo->list_kref, - (never_free || (count >= 0)) ? ttm_bo_ref_bug : - ttm_bo_release_list); + kref_sub(&bo->list_kref, count, + (never_free) ? ttm_bo_ref_bug : ttm_bo_release_list); } int ttm_bo_reserve(struct ttm_buffer_object *bo,