dmaengine: ep93xx: Always start from BASE0

This change “dmaengine: ep93xx: Always start from BASE0” (commit 0037ae4) in Linux kernel is authored by Alexander Sverdlin <alexander.sverdlin [at] gmail.com> on Mon May 22 16:05:22 2017 +0200.

Description of "dmaengine: ep93xx: Always start from BASE0"

The change “dmaengine: ep93xx: Always start from BASE0” introduces changes as follows.

dmaengine: ep93xx: Always start from BASE0

The current buffer is being reset to zero on device_free_chan_resources()
but not on device_terminate_all(). It could happen that HW is restarted and
expects BASE0 to be used, but the driver is not synchronized and will start
from BASE1. One solution is to reset the buffer explicitly in
m2p_hw_setup().

Signed-off-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Vinod Koul <vinod.koul@intel.com>

Linux kernel releases containing commit 0037ae4

Linux kernel code changes from "dmaengine: ep93xx: Always start from BASE0"

There are 2 lines of Linux source code added/deleted in this change. Code changes to Linux kernel are as follows.

 drivers/dma/ep93xx_dma.c | 2 ++
 1 file changed, 2 insertions(+)
 
diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c
index d37e8dda8079..deb009c3121f 100644
--- a/drivers/dma/ep93xx_dma.c
+++ b/drivers/dma/ep93xx_dma.c
@@ -323,6 +323,8 @@ static int m2p_hw_setup(struct ep93xx_dma_chan *edmac)
 		| M2P_CONTROL_ENABLE;
 	m2p_set_control(edmac, control);
 
+	edmac->buffer = 0;
+
 	return 0;
 }
 

The commit for this change in Linux stable tree is 0037ae4 (patch).

Last modified: 2020/02/09