From 0f4431758b8b4ab008d12988f8215377b6ff3cc0 Mon Sep 17 00:00:00 2001
From: John Crispin <john@openwrt.org>
Date: Wed, 11 Feb 2015 13:05:14 +0000
Subject: [PATCH] ralink: fix when tx done is 0 also need to clean interrupt
 status

Signed-off-by: michael lee <igvtee@gmail.com>
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 44401
---
 .../files/drivers/net/ethernet/ralink/ralink_soc_eth.c      | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
index 3a8475a63d..96bc0e5fb1 100644
--- a/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
+++ b/target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c
@@ -899,9 +899,6 @@ txpoll_again:
 	}
 	priv->tx_free_idx = idx;
 
-	if (!done)
-		return 0;
-
 	if (budget) {
 		fe_reg_w32(tx_intr, FE_REG_FE_INT_STATUS);
 		hwidx = fe_reg_r32(FE_REG_TX_DTX_IDX0);
@@ -909,6 +906,9 @@ txpoll_again:
 			goto txpoll_again;
 	}
 
+	if (!done)
+		return 0;
+
 	netdev_completed_queue(netdev, done, bytes_compl);
 	if (unlikely(netif_queue_stopped(netdev) &&
 				netif_carrier_ok(netdev))) {
-- 
2.30.2