dmaengine: imx-dma: fix callback path in tasklet
authorMichael Grzeschik <m.grzeschik@pengutronix.de>
Tue, 17 Sep 2013 13:56:08 +0000 (15:56 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 13 Oct 2013 23:08:34 +0000 (16:08 -0700)
commit8dac1d15489d284a4ffadaef25650272c4b44bfe
treee7497b0bd4a38cef0ed0be8389f27c8cb7e7c2d6
parent16c72f379e4fdc8b0438f729ecd261428fff4c21
dmaengine: imx-dma: fix callback path in tasklet

commit fcaaba6c7136fe47e5a13352f99a64b019b6d2c5 upstream.

We need to free the ld_active list head before jumping into the callback
routine. Otherwise the callback could run into issue_pending and change
our ld_active list head we just going to free. This will run the channel
list into an currupted and undefined state.

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Cc: Jonghwan Choi <jhbird.choi@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dma/imx-dma.c