ia64/xen-unstable

changeset 19803:07fea69baadc

x86: Fix legacy irq allocation issue

When try to assign vector for irq, we should not assign vector for
legacy irq, which has fixed mapped irq<->vector relationship.

Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 19 08:43:58 2009 +0100 (2009-06-19)
parents f3211c71e8f0
children e2625f235940
files xen/arch/x86/irq.c
line diff
     1.1 --- a/xen/arch/x86/irq.c	Fri Jun 19 08:43:28 2009 +0100
     1.2 +++ b/xen/arch/x86/irq.c	Fri Jun 19 08:43:58 2009 +0100
     1.3 @@ -84,6 +84,12 @@ int assign_irq_vector(int irq)
     1.4  
     1.5      spin_lock(&vector_lock);
     1.6  
     1.7 +    if ((irq != AUTO_ASSIGN_IRQ) && !IO_APIC_IRQ(irq))
     1.8 +    {
     1.9 +        spin_unlock(&vector_lock);
    1.10 +        return LEGACY_VECTOR(irq);
    1.11 +    }
    1.12 +
    1.13      if ((irq != AUTO_ASSIGN_IRQ) && (IO_APIC_VECTOR(irq) > 0)) {
    1.14          spin_unlock(&vector_lock);
    1.15          return IO_APIC_VECTOR(irq);