diff options
author | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-03-26 15:21:59 -0400 |
---|---|---|
committer | Steven Rostedt (VMware) <rostedt@goodmis.org> | 2019-03-26 15:21:59 -0400 |
commit | 0f96371a30f16f6244195c717b9e2b2f42aa4e89 (patch) | |
tree | 3f42b4abf3a7643ddd06f0c7727f2e3b06798c3c /arch/x86/kernel/apic | |
parent | e021bb4fb77a8782d21cab4cb0702778fc3784c7 (diff) | |
parent | ce194fa2b267e2018f42442347d90df01c4071d6 (diff) |
Merge tag 'v4.19.29' into v4.19-rt
This is the 4.19.29 stable release
Conflicts:
drivers/irqchip/irq-gic-v3-its.c
Diffstat (limited to 'arch/x86/kernel/apic')
-rw-r--r-- | arch/x86/kernel/apic/vector.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c index 7654febd5102..652e7ffa9b9d 100644 --- a/arch/x86/kernel/apic/vector.c +++ b/arch/x86/kernel/apic/vector.c @@ -313,14 +313,13 @@ assign_managed_vector(struct irq_data *irqd, const struct cpumask *dest) struct apic_chip_data *apicd = apic_chip_data(irqd); int vector, cpu; - cpumask_and(vector_searchmask, vector_searchmask, affmsk); - cpu = cpumask_first(vector_searchmask); - if (cpu >= nr_cpu_ids) - return -EINVAL; + cpumask_and(vector_searchmask, dest, affmsk); + /* set_affinity might call here for nothing */ if (apicd->vector && cpumask_test_cpu(apicd->cpu, vector_searchmask)) return 0; - vector = irq_matrix_alloc_managed(vector_matrix, cpu); + vector = irq_matrix_alloc_managed(vector_matrix, vector_searchmask, + &cpu); trace_vector_alloc_managed(irqd->irq, vector, vector); if (vector < 0) return vector; |