X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2Fpercpu_counter.c;h=393a0e915c23b252b747c62645beb463e25843ed;hb=bceabd15050d8d0e3742af350f072a110510a2aa;hp=9659eabffc319c5235669a87687949d270536b4e;hpb=b6257a9036f06878a0f02354d5a07f155e1cfee0;p=linux-2.6-omap-h63xx.git diff --git a/lib/percpu_counter.c b/lib/percpu_counter.c index 9659eabffc3..393a0e915c2 100644 --- a/lib/percpu_counter.c +++ b/lib/percpu_counter.c @@ -124,12 +124,13 @@ static int __cpuinit percpu_counter_hotcpu_callback(struct notifier_block *nb, mutex_lock(&percpu_counters_lock); list_for_each_entry(fbc, &percpu_counters, list) { s32 *pcount; + unsigned long flags; - spin_lock(&fbc->lock); + spin_lock_irqsave(&fbc->lock, flags); pcount = per_cpu_ptr(fbc->counters, cpu); fbc->count += *pcount; *pcount = 0; - spin_unlock(&fbc->lock); + spin_unlock_irqrestore(&fbc->lock, flags); } mutex_unlock(&percpu_counters_lock); return NOTIFY_OK;