From 6f8a0ed4e5d86c01db5e7e3f95d9003b7cf9cb87 Mon Sep 17 00:00:00 2001 From: Jeremy Fitzhardinge Date: Wed, 17 Dec 2008 13:42:29 -0800 Subject: [PATCH] sparseirq, xen: make sure irq_desc is allocated for interrupts Impact: fix crash Make sure all Xen irqs have an irq_desc. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Ingo Molnar --- drivers/xen/events.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 2924faa7f6c4..46625cd38743 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -233,6 +233,7 @@ static void unmask_evtchn(int port) static int find_unbound_irq(void) { int irq; + struct irq_desc *desc; /* Only allocate from dynirq range */ for (irq = 0; irq < nr_irqs; irq++) @@ -242,6 +243,10 @@ static int find_unbound_irq(void) if (irq == nr_irqs) panic("No available IRQ to bind to: increase nr_irqs!\n"); + desc = irq_to_desc_alloc_cpu(irq, 0); + if (WARN_ON(desc == NULL)) + return -1; + return irq; } -- 2.20.1