Skip to content

Commit

Permalink
mfd: AB3100 disable irq nosync
Browse files Browse the repository at this point in the history
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 <linus.walleij@stericsson.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
  • Loading branch information
Linus Walleij authored and Samuel Ortiz committed Sep 17, 2009
1 parent ce290b0 commit 0ad651c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/mfd/ab3100-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit 0ad651c

Please sign in to comment.