瀏覽代碼

altera_tse: Clear SGDMA's RUN bit in async transfer, like in sync case

Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
Joachim Foerster 13 年之前
父節點
當前提交
337aff53f6
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      drivers/net/altera_tse.c

+ 6 - 0
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.