From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: [PATCH] xen: fix off-by-one error in find_unbound_irq Date: Fri, 26 Feb 2010 10:59:35 +0000 Message-ID: <1267181975-14348-1-git-send-email-ian.campbell@citrix.com> Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Jeremy Fitzhardinge , Ian Campbell , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org e459de95 "Find an unbound irq number in reverse order (high to low)" introduced an off by one error which would cause repeated allocations of the nr_irq'th IRQ if there are no spare interrupts (i.e. get_nr_hw_irqs() == nr_irqs). Signed-off-by: Ian Campbell Cc: Konrad Rzeszutek Wilk Cc: Jeremy Fitzhardinge --- drivers/xen/events.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/xen/events.c b/drivers/xen/events.c index 99f2b2a..5c64e1d 100644 --- a/drivers/xen/events.c +++ b/drivers/xen/events.c @@ -377,7 +377,7 @@ static int find_unbound_irq(void) if (irq_info[irq].type == IRQT_UNBOUND) break; - if (irq == start || irq == nr_irqs) + if (irq == start || irq == nr_irqs - 1) panic("No available IRQ to bind to: increase nr_irqs!\n"); desc = irq_to_desc_alloc_node(irq, 0); -- 1.5.6.5