File 25688-x86-nr_irqs_gsi.patch of Package xen.854

# HG changeset patch
# User Jan Beulich <jbeulich@suse.com>
# Date 1343384533 -7200
# Node ID e6266fc76d08b7297fdce7a6ff66cde58fe87ef8
# Parent  fab4434f514532dba54ff4eec8b8ffa230f8330f
x86: fix off-by-one in nr_irqs_gsi calculation

highest_gsi() returns the last valid GSI, not a count.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Joe Jin <joe.jin@oracle.com>
Acked-by: Keir Fraser <keir@xen.org>

--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -2616,7 +2616,7 @@ void __init init_ioapic_mappings(void)
         }
     }
 
-    nr_irqs_gsi = max(nr_irqs_gsi, highest_gsi());
+    nr_irqs_gsi = max(nr_irqs_gsi, highest_gsi() + 1);
 
     if ( !smp_found_config || skip_ioapic_setup || nr_irqs_gsi < 16 )
         nr_irqs_gsi = 16;
openSUSE Build Service is sponsored by