From: John Crispin Date: Wed, 11 Feb 2015 13:05:14 +0000 (+0000) Subject: ralink: fix when tx done is 0 also need to clean interrupt status X-Git-Tag: reboot~4308 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=0f4431758b8b4ab008d12988f8215377b6ff3cc0;p=openwrt%2Fstaging%2Fjogo.git ralink: fix when tx done is 0 also need to clean interrupt status Signed-off-by: michael lee Signed-off-by: John Crispin SVN-Revision: 44401 --- 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))) {