diff options
Diffstat (limited to 'kernel/irq/affinity.c')
| -rw-r--r-- | kernel/irq/affinity.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/irq/affinity.c b/kernel/irq/affinity.c index 4d89ad4fae3b..f7ff8919dc9b 100644 --- a/kernel/irq/affinity.c +++ b/kernel/irq/affinity.c @@ -355,7 +355,7 @@ static int irq_build_affinity_masks(unsigned int startvec, unsigned int numvecs,  		goto fail_npresmsk;  	/* Stabilize the cpumasks */ -	get_online_cpus(); +	cpus_read_lock();  	build_node_to_cpumask(node_to_cpumask);  	/* Spread on present CPUs starting from affd->pre_vectors */ @@ -384,7 +384,7 @@ static int irq_build_affinity_masks(unsigned int startvec, unsigned int numvecs,  		nr_others = ret;   fail_build_affinity: -	put_online_cpus(); +	cpus_read_unlock();  	if (ret >= 0)  		WARN_ON(nr_present + nr_others < numvecs); @@ -505,9 +505,9 @@ unsigned int irq_calc_affinity_vectors(unsigned int minvec, unsigned int maxvec,  	if (affd->calc_sets) {  		set_vecs = maxvec - resv;  	} else { -		get_online_cpus(); +		cpus_read_lock();  		set_vecs = cpumask_weight(cpu_possible_mask); -		put_online_cpus(); +		cpus_read_unlock();  	}  	return resv + min(set_vecs, maxvec - resv);  | 
