From: Guennadi Liakhovetski Date: Tue, 31 May 2011 09:25:16 +0000 (+0000) Subject: dmaengine: shdma: fix a regression: initialise DMA channels for memcpy X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=a1b2cc50679c1d2eed44e2885f6178ce907498b7;p=deliverable%2Flinux.git dmaengine: shdma: fix a regression: initialise DMA channels for memcpy A recent patch has introduced a regression, where repeating a memcpy DMA test with shdma module unloading between them skips the DMA channel configuration. Fix this regression by always configuring the channel during its allocation. Signed-off-by: Guennadi Liakhovetski Signed-off-by: Paul Mundt --- diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index 727e76ff13e1..2a638f9f09a2 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c @@ -343,7 +343,7 @@ static int sh_dmae_alloc_chan_resources(struct dma_chan *chan) dmae_set_dmars(sh_chan, cfg->mid_rid); dmae_set_chcr(sh_chan, cfg->chcr); - } else if ((sh_dmae_readl(sh_chan, CHCR) & 0xf00) != 0x400) { + } else { dmae_init(sh_chan); }