eeeeaf88a6
xend-devid-or-name.patch - Upstream patches from Jan 22019-x86-cpuidle-online-check.patch 22051-x86-forced-EOI.patch 22067-x86-irq-domain.patch 22068-vtd-irte-RH-bit.patch 22071-ept-get-entry-lock.patch 22084-x86-xsave-off.patch - bnc#638465 - hypervisor panic in memory handling heaplock.patch - Update to Xen 4.0.1. This is a bug fix release. OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=73
32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
# HG changeset patch
|
|
# User Keir Fraser <keir.fraser@citrix.com>
|
|
# Date 1282817774 -3600
|
|
# Node ID 3eb5127e46365242401e37df292fbe290fa0a974
|
|
# Parent eccfdeb41b803d07bcb4f7fa912a8341fdb19162
|
|
Fix bind_irq_vector() destination
|
|
|
|
The "mask" covered all online cpus in the "domain". It should be used
|
|
as destination later, instead of using "domain" directly.
|
|
|
|
Signed-off-by: Sheng Yang <sheng@linux.intel.com>
|
|
|
|
--- a/xen/arch/x86/irq.c
|
|
+++ b/xen/arch/x86/irq.c
|
|
@@ -88,14 +88,14 @@ static int __bind_irq_vector(int irq, in
|
|
cpus_and(mask, domain, cpu_online_map);
|
|
if (cpus_empty(mask))
|
|
return -EINVAL;
|
|
- if ((cfg->vector == vector) && cpus_equal(cfg->domain, domain))
|
|
+ if ((cfg->vector == vector) && cpus_equal(cfg->domain, mask))
|
|
return 0;
|
|
if (cfg->vector != IRQ_VECTOR_UNASSIGNED)
|
|
return -EBUSY;
|
|
for_each_cpu_mask(cpu, mask)
|
|
per_cpu(vector_irq, cpu)[vector] = irq;
|
|
cfg->vector = vector;
|
|
- cfg->domain = domain;
|
|
+ cfg->domain = mask;
|
|
irq_status[irq] = IRQ_USED;
|
|
if (IO_APIC_IRQ(irq))
|
|
irq_vector[irq] = vector;
|