diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/dma/apple-admac.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/dma/apple-admac.c b/drivers/dma/apple-admac.c index b9132b495d18..4cf8da77bdd9 100644 --- a/drivers/dma/apple-admac.c +++ b/drivers/dma/apple-admac.c @@ -512,7 +512,10 @@ static int admac_terminate_all(struct dma_chan *chan) admac_stop_chan(adchan); admac_reset_rings(adchan); - adchan->current_tx = NULL; + if (adchan->current_tx) { + list_add_tail(&adchan->current_tx->node, &adchan->to_free); + adchan->current_tx = NULL; + } /* * Descriptors can only be freed after the tasklet * has been killed (in admac_synchronize). |