[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-4.0-testing] Fix bind_irq_vector() destination



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1283154997 -3600
# Node ID ab1fb1b8b569ef78ac352a5ff4524d0fae80945a
# Parent  9ff9b57ddddfd3693698ece28ae44542fba6ee0f
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@xxxxxxxxxxxxxxx>
xen-unstable: changeset:   3eb5127e4636
xen-unstable: date:        Thu Aug 26 11:16:14 2010 +0100
---
 xen/arch/x86/irq.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff -r 9ff9b57ddddf -r ab1fb1b8b569 xen/arch/x86/irq.c
--- a/xen/arch/x86/irq.c        Mon Aug 30 08:56:07 2010 +0100
+++ b/xen/arch/x86/irq.c        Mon Aug 30 08:56:37 2010 +0100
@@ -90,14 +90,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;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.