Skip to content

Commit d9ec464

Browse files
SylvainLesneVinod Koul
authored andcommitted
dmaengine: altera: fix response FIFO emptying
Commit 6084fc2 ("dmaengine: altera: Use macros instead of structs to describe the registers") introduced a minus sign before a register offset. This leads to soft-locks of the DMA controller, since reading the last status byte is required to pop the response from the FIFO. Failing to do so will lead to a full FIFO, which means that the DMA controller will stop processing descriptors. Signed-off-by: Sylvain Lesne <[email protected]> Reviewed-by: Stefan Roese <[email protected]> Signed-off-by: Vinod Koul <[email protected]>
1 parent 2ccb483 commit d9ec464

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

drivers/dma/altera-msgdma.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -698,7 +698,7 @@ static void msgdma_tasklet(unsigned long data)
698698
* bits. So we need to just drop these values.
699699
*/
700700
size = ioread32(mdev->resp + MSGDMA_RESP_BYTES_TRANSFERRED);
701-
status = ioread32(mdev->resp - MSGDMA_RESP_STATUS);
701+
status = ioread32(mdev->resp + MSGDMA_RESP_STATUS);
702702

703703
msgdma_complete_descriptor(mdev);
704704
msgdma_chan_desc_cleanup(mdev);

0 commit comments

Comments
 (0)