diff options
author | Linus Walleij <linus.walleij@stericsson.com> | 2009-08-13 05:50:01 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2009-09-17 03:47:18 -0400 |
commit | 0ad651c94c7a1f3706f63dc0174e681315e7dc81 (patch) | |
tree | d3d31dd7a5baf5d628ab959f8a558d6d69e9fe54 /drivers/mfd | |
parent | ce290b0e865ae19f0ae49968def0a2edcb4e6a65 (diff) |
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 <linus.walleij@stericsson.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r-- | drivers/mfd/ab3100-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
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) | |||
422 | * stuff and we will re-enable the interrupts once th | 422 | * stuff and we will re-enable the interrupts once th |
423 | * worker has finished. | 423 | * worker has finished. |
424 | */ | 424 | */ |
425 | disable_irq(ab3100->i2c_client->irq); | 425 | disable_irq_nosync(irq); |
426 | schedule_work(&ab3100->work); | 426 | schedule_work(&ab3100->work); |
427 | return IRQ_HANDLED; | 427 | return IRQ_HANDLED; |
428 | } | 428 | } |