x86: fix off-by-one in nr_irqs_gsi calculation
authorJan Beulich <jbeulich@suse.com>
Fri, 27 Jul 2012 10:22:13 +0000 (12:22 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 27 Jul 2012 10:22:13 +0000 (12:22 +0200)
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>
xen/arch/x86/io_apic.c

index d213f2c388ed28a72430bcddba560b7e18accb8b..85191e0af2946957c079b296625368a587c52d32 100644 (file)
@@ -2531,7 +2531,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 ( max_gsi_irqs == 0 )
         max_gsi_irqs = nr_irqs ? nr_irqs / 8 : PAGE_SIZE;