summary refs log tree commit diff
path: root/arch/x86/pci
diff options
context:
space:
mode:
authorStefano Stabellini <sstabellini@kernel.org>2016-04-20 14:15:01 +0100
committerDavid Vrabel <david.vrabel@citrix.com>2016-05-24 12:58:19 +0100
commit702f926067d2a4b28c10a3c41a1172dd62d9e735 (patch)
tree72682eb17139d59c83a66d3fdf03b30c31775c89 /arch/x86/pci
parent971a69db7dc02faaeed325c195f5db5da597cb58 (diff)
downloadlinux-702f926067d2a4b28c10a3c41a1172dd62d9e735.tar.gz
xen/x86: actually allocate legacy interrupts on PV guests
b4ff8389ed14 is incomplete: relies on nr_legacy_irqs() to get the number
of legacy interrupts when actually nr_legacy_irqs() returns 0 after
probe_8259A(). Use NR_IRQS_LEGACY instead.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
CC: stable@vger.kernel.org
Diffstat (limited to 'arch/x86/pci')
-rw-r--r--arch/x86/pci/xen.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index beac4dfdade6..349b8ce92bf2 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -491,8 +491,11 @@ int __init pci_xen_initial_domain(void)
 #endif
 	__acpi_register_gsi = acpi_register_gsi_xen;
 	__acpi_unregister_gsi = NULL;
-	/* Pre-allocate legacy irqs */
-	for (irq = 0; irq < nr_legacy_irqs(); irq++) {
+	/*
+	 * Pre-allocate the legacy IRQs.  Use NR_LEGACY_IRQS here
+	 * because we don't have a PIC and thus nr_legacy_irqs() is zero.
+	 */
+	for (irq = 0; irq < NR_IRQS_LEGACY; irq++) {
 		int trigger, polarity;
 
 		if (acpi_get_override_irq(irq, &trigger, &polarity) == -1)