X-Git-Url: http://git.cascardo.info/?a=blobdiff_plain;f=drivers%2Firqchip%2Firq-atmel-aic.c;h=37f952dd9fc94bdc5faa6c2721822b8780dd46e1;hb=84a78c724b1d7eae1c163e7a225a3ce9e0c61b6d;hp=112e17c2768be06587d340865ade9fe202adc7da;hpb=e61249bb8a67a9f31a52f91259569aa44e9f6ca2;p=cascardo%2Flinux.git diff --git a/drivers/irqchip/irq-atmel-aic.c b/drivers/irqchip/irq-atmel-aic.c index 112e17c2768b..37f952dd9fc9 100644 --- a/drivers/irqchip/irq-atmel-aic.c +++ b/drivers/irqchip/irq-atmel-aic.c @@ -176,6 +176,7 @@ static int aic_irq_domain_xlate(struct irq_domain *d, { struct irq_domain_chip_generic *dgc = d->gc; struct irq_chip_generic *gc; + unsigned long flags; unsigned smr; int idx; int ret; @@ -194,11 +195,11 @@ static int aic_irq_domain_xlate(struct irq_domain *d, gc = dgc->gc[idx]; - irq_gc_lock(gc); + irq_gc_lock_irqsave(gc, flags); smr = irq_reg_readl(gc, AT91_AIC_SMR(*out_hwirq)); aic_common_set_priority(intspec[2], &smr); irq_reg_writel(gc, smr, AT91_AIC_SMR(*out_hwirq)); - irq_gc_unlock(gc); + irq_gc_unlock_irqrestore(gc, flags); return ret; }