summaryrefslogtreecommitdiff
path: root/arch/mips/mti-malta
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2017-04-13 00:48:47 +0200
committerRalf Baechle <ralf@linux-mips.org>2017-04-13 00:48:47 +0200
commite469b23cdec0fc8c49102882920e3951530e1740 (patch)
tree7ef4e37f4c576c984157e897e7a461cea13f5983 /arch/mips/mti-malta
parent72f941af88a543e6a038c75b8467903b7812239c (diff)
parent162b270c664dca2e0944308e92f9fcc887151a72 (diff)
Merge branch '4.11-fixes' into mips-for-linux-next
Diffstat (limited to 'arch/mips/mti-malta')
-rw-r--r--arch/mips/mti-malta/malta-int.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/mips/mti-malta/malta-int.c b/arch/mips/mti-malta/malta-int.c
index fe9bb479f2a0..b0f9b188e833 100644
--- a/arch/mips/mti-malta/malta-int.c
+++ b/arch/mips/mti-malta/malta-int.c
@@ -176,6 +176,17 @@ void __init arch_init_irq(void)
{
int corehi_irq;
+ /*
+ * Preallocate the i8259's expected virq's here. Since irqchip_init()
+ * will probe the irqchips in hierarchial order, i8259 is probed last.
+ * If anything allocates a virq before the i8259 is probed, it will
+ * be given one of the i8259's expected range and consequently setup
+ * of the i8259 will fail.
+ */
+ WARN(irq_alloc_descs(I8259A_IRQ_BASE, I8259A_IRQ_BASE,
+ 16, numa_node_id()) < 0,
+ "Cannot reserve i8259 virqs at IRQ%d\n", I8259A_IRQ_BASE);
+
i8259_set_poll(mips_pcibios_iack);
irqchip_init();