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 22:42:49 +0000 (15:42 -0700)
commitcd8ccd534cf8782116049336a31b2476b9049ed2
tree4beed7c82353e85e9d3e496d97e66de3c42856c1
parent218118c73db0a1b9aaece4c9ae697745218c3aa5
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