From 337aff53f63ef404bdc42472a6a82f9224cafed6 Mon Sep 17 00:00:00 2001
From: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
Date: Tue, 25 Oct 2011 22:39:54 +0000
Subject: [PATCH] altera_tse: Clear SGDMA's RUN bit in async transfer, like in
 sync case

Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
---
 drivers/net/altera_tse.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c
index 54a944bfc4f..47d0047fd6f 100644
--- a/drivers/net/altera_tse.c
+++ b/drivers/net/altera_tse.c
@@ -198,6 +198,12 @@ static int alt_sgdma_do_async_transfer(volatile struct alt_sgdma_registers *dev,
 	if (counter >= ALT_TSE_SGDMA_BUSY_WATCHDOG_CNTR)
 		debug("Timeout waiting sgdma in do async!\n");
 
+	/*
+	 * Clear the RUN bit in the control register. This is needed
+	 * to restart the SGDMA engine later on.
+	 */
+	dev->control = 0;
+
 	/*
 	 * Clear any (previous) status register information
 	 * that might occlude our error checking later.
-- 
GitLab