]> git.baikalelectronics.ru Git - kernel.git/commit
dmaengine: dw: went back to plain {request,free}_irq() calls
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Wed, 7 May 2014 07:56:24 +0000 (10:56 +0300)
committerVinod Koul <vinod.koul@intel.com>
Wed, 7 May 2014 10:04:45 +0000 (15:34 +0530)
commitebc77ffd35291a1c0dd18430d46ce99a85b5f830
treee9eb92b4fc2d34289a99745a4682f9025df180dd
parentbc1f2e05c7c87f6c5b43b4555c1e286a0b989960
dmaengine: dw: went back to plain {request,free}_irq() calls

The commit 8a502e05 "dw_dmac: use devm_* functions to simplify code" turns
probe function to use devm_* helpers and simultaneously brings a regression. We
need to ensure irq is disabled, followed by ensuring that don't schedule any
more tasklets and then its safe to use tasklet_kill().

The free_irq() will ensure that the irq is disabled and also wait till all
scheduled interrupts are executed by invoking synchronize_irq(). So we need to
only do tasklet_kill() after invoking free_irq().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: stable@vger.kernel.org # v3.11+
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/dw/core.c