aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-02-11 13:05:14 +0000
committerJohn Crispin <blogic@openwrt.org>2015-02-11 13:05:14 +0000
commit6343ae89b9a91245afbce6ebc4028cddefa019d1 (patch)
treeae09be0bf859d66e7b28fd8f53f5f5b7cda3ed64 /target/linux/ramips/files
parent45155038a93ac117c8aad91a8748e85ef2640245 (diff)
downloadupstream-6343ae89b9a91245afbce6ebc4028cddefa019d1.tar.gz
upstream-6343ae89b9a91245afbce6ebc4028cddefa019d1.tar.bz2
upstream-6343ae89b9a91245afbce6ebc4028cddefa019d1.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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44401 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ramips/files')
-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))) {