From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v3 02/11] arm: fix inflight_irqs list priority ordering Date: Fri, 2 Mar 2012 14:27:28 +0000 Message-ID: <1330698457-8622-2-git-send-email-stefano.stabellini@eu.citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xensource.com Cc: Tim.Deegan@citrix.com, Stefano Stabellini , Ian.Campbell@citrix.com, david.vrabel@citrix.com List-Id: xen-devel@lists.xenproject.org Lower priority integers mean higher priority. Also when we are about to insert the lowest priority IRQ so far, add it at the end. Signed-off-by: Stefano Stabellini --- xen/arch/arm/vgic.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index dd99629..4d2a0e0 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -567,14 +567,14 @@ void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq, int virtual) spin_lock(&v->arch.vgic.lock); list_for_each_entry ( iter, &v->arch.vgic.inflight_irqs, inflight ) { - if ( iter->priority < priority ) + if ( iter->priority > priority ) { list_add_tail(&n->inflight, &iter->inflight); spin_unlock(&v->arch.vgic.lock); return; } } - list_add(&n->inflight, &v->arch.vgic.inflight_irqs); + list_add_tail(&n->inflight, &v->arch.vgic.inflight_irqs); spin_unlock(&v->arch.vgic.lock); /* we have a new higher priority irq, inject it into the guest */ cpu_raise_softirq(v->processor, VGIC_SOFTIRQ); -- 1.7.2.5