From 337aff53f63ef404bdc42472a6a82f9224cafed6 Mon Sep 17 00:00:00 2001 From: Joachim Foerster Date: Tue, 25 Oct 2011 22:39:54 +0000 Subject: altera_tse: Clear SGDMA's RUN bit in async transfer, like in sync case Signed-off-by: Joachim Foerster --- drivers/net/altera_tse.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'drivers/net/altera_tse.c') diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c index 54a944bfc4..47d0047fd6 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. -- cgit v1.2.3