altera_tse: Clear SGDMA's RUN bit in async transfer, like in sync case
authorJoachim Foerster <joachim.foerster@missinglinkelectronics.com>
Tue, 25 Oct 2011 22:39:54 +0000 (22:39 +0000)
committerWolfgang Denk <wd@denx.de>
Wed, 26 Oct 2011 19:25:42 +0000 (21:25 +0200)
Signed-off-by: Joachim Foerster <joachim.foerster@missinglinkelectronics.com>
drivers/net/altera_tse.c

index 54a944bfc4f221df510d55eb497f5b97f2884ed6..47d0047fd6fc572bb78dff6e34ba4c5e6cb0f1e2 100644 (file)
@@ -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.