dw_dmac: fix copy/paste bug in tasklet
The tasklet checks RAW.BLOCK twice, and does not check RAW.XFER. This is obviously wrong, and could theoretically cause the driver to hang. Reported-by: Nicolas Ferre <nicolas.ferre@atmel.com> Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
09b05f5ee0
commit
7fe7b2f4ec
1 changed files with 1 additions and 1 deletions
|
@ -364,7 +364,7 @@ static void dw_dma_tasklet(unsigned long data)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
status_block = dma_readl(dw, RAW.BLOCK);
|
status_block = dma_readl(dw, RAW.BLOCK);
|
||||||
status_xfer = dma_readl(dw, RAW.BLOCK);
|
status_xfer = dma_readl(dw, RAW.XFER);
|
||||||
status_err = dma_readl(dw, RAW.ERROR);
|
status_err = dma_readl(dw, RAW.ERROR);
|
||||||
|
|
||||||
dev_vdbg(dw->dma.dev, "tasklet: status_block=%x status_err=%x\n",
|
dev_vdbg(dw->dma.dev, "tasklet: status_block=%x status_err=%x\n",
|
||||||
|
|
Loading…
Reference in a new issue