On Mon, Jul 11, 2016 at 6:55 AM, Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx> wrote: > 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. I accept incremental patches, I think it's safe to begin with this merged and work from there if there are issues. Yours, Linus Walleij -- 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