From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: xen: get_free_pirq: make sure that the returned pirq is allocated Date: Wed, 31 Aug 2011 11:24:06 +0100 Message-ID: <1314786246-15149-3-git-send-email-stefano.stabellini@eu.citrix.com> References: <1314786246-15149-1-git-send-email-stefano.stabellini@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: In-Reply-To: <1314786246-15149-1-git-send-email-stefano.stabellini@eu.citrix.com> 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: Stefano Stabellini List-Id: xen-devel@lists.xenproject.org Signed-off-by: Stefano Stabellini diff -r 54845807a8ad xen/arch/x86/irq.c --- a/xen/arch/x86/irq.c Tue Aug 30 11:56:37 2011 +0000 +++ b/xen/arch/x86/irq.c Tue Aug 30 11:58:00 2011 +0000 @@ -1584,13 +1584,19 @@ int get_free_pirq(struct domain *d, int { for ( i = 16; i < nr_irqs_gsi; i++ ) if ( is_free_pirq(d, pirq_info(d, i)) ) + { + pirq_get_info(d, i); return i; + } } else { for ( i = d->nr_pirqs - 1; i >= nr_irqs_gsi; i-- ) if ( is_free_pirq(d, pirq_info(d, i)) ) + { + pirq_get_info(d, i); return i; + } } return -ENOSPC;