From: Linus Walleij Date: Thu, 13 Aug 2009 09:50:01 +0000 (+0200) Subject: mfd: AB3100 disable irq nosync X-Git-Tag: firefly_0821_release~12923^2~13 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=0ad651c94c7a1f3706f63dc0174e681315e7dc81;p=firefly-linux-kernel-4.4.55.git mfd: AB3100 disable irq nosync This will make the worker fire interrupt disable the AB3100 IRQ without sync which resolves a race since the interrupt obviously cannot wait for itself to complete while being handled. Signed-off-by: Linus Walleij Signed-off-by: Samuel Ortiz --- diff --git a/drivers/mfd/ab3100-core.c b/drivers/mfd/ab3100-core.c index bba534ba8c65..1d8ac1a1e304 100644 --- a/drivers/mfd/ab3100-core.c +++ b/drivers/mfd/ab3100-core.c @@ -422,7 +422,7 @@ static irqreturn_t ab3100_irq_handler(int irq, void *data) * stuff and we will re-enable the interrupts once th * worker has finished. */ - disable_irq(ab3100->i2c_client->irq); + disable_irq_nosync(irq); schedule_work(&ab3100->work); return IRQ_HANDLED; }