Skip to content

Commit

Permalink
dw_dmac: fix copy/paste bug in tasklet
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Haavard Skinnemoen authored and Linus Torvalds committed Oct 4, 2008
1 parent 09b05f5 commit 7fe7b2f
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion drivers/dma/dw_dmac.c
Original file line number Diff line number Diff line change
@@ -364,7 +364,7 @@ static void dw_dma_tasklet(unsigned long data)
int i;

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);

dev_vdbg(dw->dma.dev, "tasklet: status_block=%x status_err=%x\n",

0 comments on commit 7fe7b2f

Please sign in to comment.