aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2015-02-11 13:05:14 +0000
committerJohn Crispin <john@openwrt.org>2015-02-11 13:05:14 +0000
commit0f4431758b8b4ab008d12988f8215377b6ff3cc0 (patch)
tree3fad928250b975a46e9ed508cd9bfc836c810a17 /target/linux
parent0e2c66bb1466e81904eb79853ed45e41a81c7b00 (diff)
downloadupstream-0f4431758b8b4ab008d12988f8215377b6ff3cc0.tar.gz
upstream-0f4431758b8b4ab008d12988f8215377b6ff3cc0.tar.bz2
upstream-0f4431758b8b4ab008d12988f8215377b6ff3cc0.zip
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
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c6
1 files 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))) {