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)
commit97977f7576a89cb9436c000ae703c0d515e748ac
treee9eb92b4fc2d34289a99745a4682f9025df180dd
parenta798c10faf62a505d24e5f6213fbaf904a39623f
dmaengine: dw: went back to plain {request,free}_irq() calls

The commit dbde5c29 "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