|
@@ -37,10 +37,11 @@ EXPORT_SYMBOL(__next_cpu_nr);
|
|
|
int cpumask_next_and(int n, const struct cpumask *src1p,
|
|
|
const struct cpumask *src2p)
|
|
|
{
|
|
|
- while ((n = cpumask_next(n, src1p)) < nr_cpu_ids)
|
|
|
- if (cpumask_test_cpu(n, src2p))
|
|
|
- break;
|
|
|
- return n;
|
|
|
+ struct cpumask tmp;
|
|
|
+
|
|
|
+ if (cpumask_and(&tmp, src1p, src2p))
|
|
|
+ return cpumask_next(n, &tmp);
|
|
|
+ return nr_cpu_ids;
|
|
|
}
|
|
|
EXPORT_SYMBOL(cpumask_next_and);
|
|
|
|