X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=drivers%2Firqchip%2Firq-atmel-aic5.c;h=2a624d87a0356a963e2fa1d888cdff8e0668ae41;hb=e35db92b4f53cad816af25c1a5f8be414e0de9fc;hp=4f0d068e1abec2bc068b5a2185bef0fd6df729ff;hpb=32b583a0cb9b757d68c44f2819fa6ccf95dbb953;p=cascardo%2Flinux.git diff --git a/drivers/irqchip/irq-atmel-aic5.c b/drivers/irqchip/irq-atmel-aic5.c index 4f0d068e1abe..2a624d87a035 100644 --- a/drivers/irqchip/irq-atmel-aic5.c +++ b/drivers/irqchip/irq-atmel-aic5.c @@ -258,6 +258,7 @@ static int aic5_irq_domain_xlate(struct irq_domain *d, unsigned int *out_type) { struct irq_chip_generic *bgc = irq_get_domain_generic_chip(d, 0); + unsigned long flags; unsigned smr; int ret; @@ -269,12 +270,12 @@ static int aic5_irq_domain_xlate(struct irq_domain *d, if (ret) return ret; - irq_gc_lock(bgc); + irq_gc_lock_irqsave(bgc, flags); irq_reg_writel(bgc, *out_hwirq, AT91_AIC5_SSR); smr = irq_reg_readl(bgc, AT91_AIC5_SMR); aic_common_set_priority(intspec[2], &smr); irq_reg_writel(bgc, smr, AT91_AIC5_SMR); - irq_gc_unlock(bgc); + irq_gc_unlock_irqrestore(bgc, flags); return ret; }