From 43625296799a95b9060e921bef5a25f8e1ba3173 Mon Sep 17 00:00:00 2001 From: Tejun Heo Date: Wed, 13 Mar 2013 14:59:38 -0700 Subject: [PATCH] --- yaml --- r: 361287 b: refs/heads/master c: e68035fb65dec05718d765fbea14d2e527214ff6 h: refs/heads/master i: 361285: 09bd6cb4de4a60e6ccfd53402f6f9a288f0e259a 361283: 4f900621952e02643c8a6bcbc500d30a1bef84eb 361279: 69f1184200e0ccdcd4886eb1a625c30380f593fa v: v3 --- [refs] | 2 +- trunk/kernel/workqueue.c | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index a5ce2ca0f53b..39e815fd8502 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ebd6c70714f5eda9cd1b60d23754ffd1d62481f6 +refs/heads/master: e68035fb65dec05718d765fbea14d2e527214ff6 diff --git a/trunk/kernel/workqueue.c b/trunk/kernel/workqueue.c index 81f2457811eb..55fac5b991b7 100644 --- a/trunk/kernel/workqueue.c +++ b/trunk/kernel/workqueue.c @@ -457,11 +457,12 @@ static int worker_pool_assign_id(struct worker_pool *pool) int ret; mutex_lock(&worker_pool_idr_mutex); - idr_pre_get(&worker_pool_idr, GFP_KERNEL); - ret = idr_get_new(&worker_pool_idr, pool, &pool->id); + ret = idr_alloc(&worker_pool_idr, pool, 0, 0, GFP_KERNEL); + if (ret >= 0) + pool->id = ret; mutex_unlock(&worker_pool_idr_mutex); - return ret; + return ret < 0 ? ret : 0; } /*