fsldma: do not cleanup descriptors in hardirq context
authorDan Williams <dan.j.williams@intel.com>
Sat, 1 Mar 2008 14:51:17 +0000 (07:51 -0700)
committerDan Williams <dan.j.williams@intel.com>
Tue, 4 Mar 2008 17:16:46 +0000 (10:16 -0700)
"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>
drivers/dma/fsldma.c

index 902e852571a8b52006a35e80bb605051888c1925..cc9a68158d992311185d96a9428bc3a627dccaf4 100644 (file)
@@ -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,