diff options
author | John Crispin <john@openwrt.org> | 2015-02-11 13:05:14 +0000 |
---|---|---|
committer | John Crispin <john@openwrt.org> | 2015-02-11 13:05:14 +0000 |
commit | 0f4431758b8b4ab008d12988f8215377b6ff3cc0 (patch) | |
tree | 3fad928250b975a46e9ed508cd9bfc836c810a17 /target/linux/ramips/files/drivers/net/ethernet | |
parent | 0e2c66bb1466e81904eb79853ed45e41a81c7b00 (diff) | |
download | master-31e0f0ae-0f4431758b8b4ab008d12988f8215377b6ff3cc0.tar.gz master-31e0f0ae-0f4431758b8b4ab008d12988f8215377b6ff3cc0.tar.bz2 master-31e0f0ae-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/ramips/files/drivers/net/ethernet')
-rw-r--r-- | target/linux/ramips/files/drivers/net/ethernet/ralink/ralink_soc_eth.c | 6 |
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))) { |