Commit 0ad651c9 authored by Linus Walleij's avatar Linus Walleij Committed by Samuel Ortiz

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: default avatarLinus Walleij <linus.walleij@stericsson.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent ce290b0e
...@@ -422,7 +422,7 @@ static irqreturn_t ab3100_irq_handler(int irq, void *data) ...@@ -422,7 +422,7 @@ static irqreturn_t ab3100_irq_handler(int irq, void *data)
* stuff and we will re-enable the interrupts once th * stuff and we will re-enable the interrupts once th
* worker has finished. * worker has finished.
*/ */
disable_irq(ab3100->i2c_client->irq); disable_irq_nosync(irq);
schedule_work(&ab3100->work); schedule_work(&ab3100->work);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment