summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Stabellini <sstabellini@kernel.org>2016-04-20 14:15:01 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-06-01 12:17:01 -0700
commitf21a3ff053d11bd9442b6ae7f51503bc5b373feb (patch)
tree5d3a757d1781acbec66ae9b2c7631054d3ceafee
parentcaa2ca520f0d0cb963f5d0a18cbcd7cdfd1f1b0d (diff)
downloadlinux-stable-f21a3ff053d11bd9442b6ae7f51503bc5b373feb.tar.gz
linux-stable-f21a3ff053d11bd9442b6ae7f51503bc5b373feb.tar.bz2
linux-stable-f21a3ff053d11bd9442b6ae7f51503bc5b373feb.zip
xen/x86: actually allocate legacy interrupts on PV guests
commit 702f926067d2a4b28c10a3c41a1172dd62d9e735 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-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)