On Fri, Jul 08, 2016 at 02:08:23PM +0300, Andy Shevchenko wrote: > +static void mrfld_irq_ack(struct irq_data *d) > +{ > + struct mrfld_gpio *priv = irq_data_get_irq_chip_data(d); > + u32 gpio = irqd_to_hwirq(d); > + void __iomem *gisr = gpio_reg(&priv->chip, gpio, GISR); > + > + writel(BIT(gpio % 32), gisr); It just occured me that you actually need to take the lock here. If another thread is doing series of updates on the same register this might step over what the other thread is doing. -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html