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

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