gic_set_guest_irq can be called with irq disabled
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
{
int i;
struct pending_irq *iter, *n;
+ unsigned long flags;
- spin_lock_irq(&gic.lock);
+ spin_lock_irqsave(&gic.lock, flags);
if ( v->is_running && list_empty(&v->arch.vgic.lr_pending) )
{
list_add_tail(&n->lr_queue, &v->arch.vgic.lr_pending);
out:
- spin_unlock_irq(&gic.lock);
+ spin_unlock_irqrestore(&gic.lock, flags);
return;
}