diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c index 9469c9d08c..260ee64cca 100644 --- a/xen/arch/arm/gic.c +++ b/xen/arch/arm/gic.c @@ -342,7 +342,7 @@ void gic_interrupt(struct cpu_user_regs *regs, int is_fiq) /* Reading IRQ will ACK it */ irq = gic_hw_ops->read_irq(); - if ( likely(irq >= GIC_SGI_STATIC_MAX && irq < 1020) ) + if ( likely(irq >= GIC_SGI_STATIC_MAX && irq < 1020) || is_espi(irq) ) { isb(); do_IRQ(regs, irq, is_fiq);