Prev: [PATCH 09/11] __setup_vector_irq: handle NULL chip_data
Next: [PATCH] sched: add wait_for_completion_killable_timeout
From: Stefano Stabellini on 24 May 2010 14:30 Signed-off-by: Stefano Stabellini <stefano.stabellini(a)eu.citrix.com> --- drivers/xen/events.c | 11 ++++++++++- 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 8b68fc4..1356fa2 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -339,9 +339,18 @@ static int find_unbound_irq(void) int irq; struct irq_desc *desc; - for (irq = 0; irq < nr_irqs; irq++) + for (irq = 0; irq < nr_irqs; irq++) { + desc = irq_to_desc(irq); + /* only 0->15 have init'd desc; handle irq > 16 */ + if (desc == NULL) + break; + if (desc->chip == &no_irq_chip) + break; + if (desc->chip != &xen_dynamic_chip) + continue; if (irq_info[irq].type == IRQT_UNBOUND) break; + } if (irq == nr_irqs) panic("No available IRQ to bind to: increase nr_irqs!\n"); -- 1.5.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |