From ac9bbc0157d895064a2e7dc33a442ce951a31017 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Mon, 22 Feb 2010 17:04:55 -0800 Subject: [PATCH] --- yaml --- r: 182251 b: refs/heads/master c: 96be753af91fc9d582450a84722f6a6721d218ad h: refs/heads/master i: 182249: 83c428fcc375e3cafe87e5ede648354440f33d44 182247: c81168c9a607c2c00c3dc55ad401fd25f3398600 v: v3 --- [refs] | 2 +- trunk/lib/idr.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index 9ca25d0fba9e..30fdb83fee09 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 2676a58c980b7ef076cc9bbff3fd8c9d2d5417ea +refs/heads/master: 96be753af91fc9d582450a84722f6a6721d218ad diff --git a/trunk/lib/idr.c b/trunk/lib/idr.c index 0dc782216d4b..2eb1dca03681 100644 --- a/trunk/lib/idr.c +++ b/trunk/lib/idr.c @@ -504,7 +504,7 @@ void *idr_find(struct idr *idp, int id) int n; struct idr_layer *p; - p = rcu_dereference(idp->top); + p = rcu_dereference_raw(idp->top); if (!p) return NULL; n = (p->layer+1) * IDR_BITS; @@ -519,7 +519,7 @@ void *idr_find(struct idr *idp, int id) while (n > 0 && p) { n -= IDR_BITS; BUG_ON(n != p->layer*IDR_BITS); - p = rcu_dereference(p->ary[(id >> n) & IDR_MASK]); + p = rcu_dereference_raw(p->ary[(id >> n) & IDR_MASK]); } return((void *)p); } @@ -552,7 +552,7 @@ int idr_for_each(struct idr *idp, struct idr_layer **paa = &pa[0]; n = idp->layers * IDR_BITS; - p = rcu_dereference(idp->top); + p = rcu_dereference_raw(idp->top); max = 1 << n; id = 0; @@ -560,7 +560,7 @@ int idr_for_each(struct idr *idp, while (n > 0 && p) { n -= IDR_BITS; *paa++ = p; - p = rcu_dereference(p->ary[(id >> n) & IDR_MASK]); + p = rcu_dereference_raw(p->ary[(id >> n) & IDR_MASK]); } if (p) {