diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-03-01 07:51:17 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2008-03-04 10:16:46 -0700 |
commit | 222ccf9ab838a1ca7163969fabd2cddc10403fb5 (patch) | |
tree | 7d0c6102be13a4de0d6e22254625dc505923bcb7 /drivers/dma/fsldma.c | |
parent | 173acc7ce8538f1f3040791dc622a92aadc12cf4 (diff) | |
download | op-kernel-dev-222ccf9ab838a1ca7163969fabd2cddc10403fb5.zip op-kernel-dev-222ccf9ab838a1ca7163969fabd2cddc10403fb5.tar.gz |
fsldma: do not cleanup descriptors in hardirq context
"Cleaning" descriptors involves calling pending callbacks and clients
assume that their callback will only ever happen in softirq context.
Delay cleanup to the tasklet.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Acked-by: Zhang Wei <wei.zhang@freescale.com>
Diffstat (limited to 'drivers/dma/fsldma.c')
-rw-r--r-- | drivers/dma/fsldma.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 902e852..cc9a681 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c @@ -685,7 +685,6 @@ static irqreturn_t fsl_dma_chan_do_interrupt(int irq, void *data) "nlndar 0x%016llx\n", (u64)get_cdar(fsl_chan), (u64)get_ndar(fsl_chan)); stat &= ~FSL_DMA_SR_EOSI; - fsl_chan_ld_cleanup(fsl_chan); } /* If it current transfer is the end-of-transfer, |