Skip to content

Commit

Permalink
dmaengine: imx-dma: Disable use of hw_chain to fix sg_dma transfers.
Browse files Browse the repository at this point in the history
HW chaining is currently broken in imx-dma. It can be easily reproduced doing
intensive accesses to a external MMC card and checking how the file system
is corrupted.

Preventing the driver to use HW chaining solves these issues.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
  • Loading branch information
Javier Martin authored and Vinod Koul committed Jan 8, 2013
1 parent ac49898 commit bef2a8d
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions drivers/dma/imx-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -684,9 +684,8 @@ static int imxdma_control(struct dma_chan *chan, enum dma_ctrl_cmd cmd,
break;
}

imxdmac->hw_chaining = 1;
if (!imxdma_hw_chain(imxdmac))
return -EINVAL;
imxdmac->hw_chaining = 0;

imxdmac->ccr_from_device = (mode | IMX_DMA_TYPE_FIFO) |
((IMX_DMA_MEMSIZE_32 | IMX_DMA_TYPE_LINEAR) << 2) |
CCR_REN;
Expand Down

0 comments on commit bef2a8d

Please sign in to comment.