From 85a1f1a7a5cd135faac0f33036aa670ae37685a7 Mon Sep 17 00:00:00 2001 From: Fei Jiang Date: Sun, 6 May 2012 23:27:07 +0800 Subject: [PATCH] kernel-drm: remove ttm_bo_reserve for TTM_PL_SYNCCPU_OP_RELEASE ioctl. BZ: 34332 Some time ttm_bo_reserver will fail, then will not decrease cpu_writers, while pool_releasefromcpu and wsbmBOReleaseFromCpu will not handle the return error. ttm_ref_object_base_unref will only access the bo->write_counter with atomic_dec_and_test, which is atomic operation. Change-Id: Ie831fad02699ec1875d73e238edaf3b2ff10f4d9 Reviewed-on: http://android.intel.com:8080/47556 Reviewed-by: Jiang, Fei Reviewed-by: Ding, Haitao Tested-by: Ding, Haitao Reviewed-by: buildbot Tested-by: buildbot --- drivers/staging/mrst/imgv/psb_ttm_placement_user.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/drivers/staging/mrst/imgv/psb_ttm_placement_user.c b/drivers/staging/mrst/imgv/psb_ttm_placement_user.c index 019d7f2..bb18859 100644 --- a/drivers/staging/mrst/imgv/psb_ttm_placement_user.c +++ b/drivers/staging/mrst/imgv/psb_ttm_placement_user.c @@ -489,21 +489,8 @@ int ttm_pl_synccpu_ioctl(struct ttm_object_file *tfile, void *data) ttm_base_object_unref(&base); break; case TTM_PL_SYNCCPU_OP_RELEASE: - bo = ttm_buffer_object_lookup(tfile, arg->handle); - if (unlikely(bo == NULL)) { - printk(KERN_ERR "Could not find buffer object for synccpu release\n"); - ret = -EINVAL; - goto out; - } - ret = ttm_bo_reserve(bo, true, true, false, 0); - if (unlikely(ret != 0)) { - ttm_bo_unref(&bo); - return ret; - } ret = ttm_ref_object_base_unref(tfile, arg->handle, TTM_REF_SYNCCPU_WRITE); - ttm_bo_unreserve(bo); - ttm_bo_unref(&bo); break; default: ret = -EINVAL; -- 2.7.4