From fb38a63b48d7b03be5481439d228feea19fd5001 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Wed, 27 Feb 2013 17:04:09 -0800 Subject: [PATCH] --- yaml --- r: 359335 b: refs/heads/master c: 8550cb2e3a3f4a5f2f6aa40b6c99691056f85b9d h: refs/heads/master i: 359333: a3d526e53be2539f011a20b08bfa07896306dc5a 359331: 939a82ed9709ef3f95bb7be0b0772b8f10734502 359327: a0d0aa6cc986bdf9025c72fe36484b60f2e1b93d v: v3 --- [refs] | 2 +- trunk/drivers/gpu/drm/exynos/exynos_drm_ipp.c | 16 +++++----------- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 488c33da3f91..ab8f50d609e5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2e928815c1886fe628ed54623aa98d0889cf5509 +refs/heads/master: 8550cb2e3a3f4a5f2f6aa40b6c99691056f85b9d diff --git a/trunk/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/trunk/drivers/gpu/drm/exynos/exynos_drm_ipp.c index 90398dfbfd75..1adce07ecb5b 100644 --- a/trunk/drivers/gpu/drm/exynos/exynos_drm_ipp.c +++ b/trunk/drivers/gpu/drm/exynos/exynos_drm_ipp.c @@ -137,21 +137,15 @@ static int ipp_create_id(struct idr *id_idr, struct mutex *lock, void *obj, DRM_DEBUG_KMS("%s\n", __func__); -again: - /* ensure there is space available to allocate a handle */ - if (idr_pre_get(id_idr, GFP_KERNEL) == 0) { - DRM_ERROR("failed to get idr.\n"); - return -ENOMEM; - } - /* do the allocation under our mutexlock */ mutex_lock(lock); - ret = idr_get_new_above(id_idr, obj, 1, (int *)idp); + ret = idr_alloc(id_idr, obj, 1, 0, GFP_KERNEL); mutex_unlock(lock); - if (ret == -EAGAIN) - goto again; + if (ret < 0) + return ret; - return ret; + *idp = ret; + return 0; } static void *ipp_find_obj(struct idr *id_idr, struct mutex *lock, u32 id)