diff options
Diffstat (limited to 'lib/percpu_counter.c')
| -rw-r--r-- | lib/percpu_counter.c | 7 | 
1 files changed, 2 insertions, 5 deletions
diff --git a/lib/percpu_counter.c b/lib/percpu_counter.c index a8663890a88..b255b939bc1 100644 --- a/lib/percpu_counter.c +++ b/lib/percpu_counter.c @@ -62,10 +62,7 @@ s64 __percpu_counter_sum(struct percpu_counter *fbc)  	for_each_online_cpu(cpu) {  		s32 *pcount = per_cpu_ptr(fbc->counters, cpu);  		ret += *pcount; -		*pcount = 0;  	} -	fbc->count = ret; -  	spin_unlock(&fbc->lock);  	return ret;  } @@ -104,13 +101,13 @@ void percpu_counter_destroy(struct percpu_counter *fbc)  	if (!fbc->counters)  		return; -	free_percpu(fbc->counters); -	fbc->counters = NULL;  #ifdef CONFIG_HOTPLUG_CPU  	mutex_lock(&percpu_counters_lock);  	list_del(&fbc->list);  	mutex_unlock(&percpu_counters_lock);  #endif +	free_percpu(fbc->counters); +	fbc->counters = NULL;  }  EXPORT_SYMBOL(percpu_counter_destroy);  |