aboutsummaryrefslogtreecommitdiff
path: root/lib/percpu-refcount.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-03-06 17:44:28 +0800
committerMark Brown <broonie@linaro.org>2014-03-06 17:44:28 +0800
commitd083f580e5b940834a93ab741cdf064f0324dc0f (patch)
treed034075e47d68179d2f8bf7220d26bef0ba740d3 /lib/percpu-refcount.c
parent931f27c6e892fdfe98896055e0df7962e21969d9 (diff)
parent13ff50c85846338bb9820abd3933227b678dc086 (diff)
Merge tag 'parse-val' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into asoc-core
regmap: Add parse_val() API This is useful for generic code built on top of regmap dealing with blocks of data.
Diffstat (limited to 'lib/percpu-refcount.c')
-rw-r--r--lib/percpu-refcount.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/percpu-refcount.c b/lib/percpu-refcount.c
index 1a53d497a8c5..963b7034a51b 100644
--- a/lib/percpu-refcount.c
+++ b/lib/percpu-refcount.c
@@ -120,6 +120,9 @@ static void percpu_ref_kill_rcu(struct rcu_head *rcu)
atomic_add((int) count - PCPU_COUNT_BIAS, &ref->count);
+ WARN_ONCE(atomic_read(&ref->count) <= 0, "percpu ref <= 0 (%i)",
+ atomic_read(&ref->count));
+
/* @ref is viewed as dead on all CPUs, send out kill confirmation */
if (ref->confirm_kill)
ref->confirm_kill(ref);