From 0f4431758b8b4ab008d12988f8215377b6ff3cc0 Mon Sep 17 00:00:00 2001 From: John Crispin 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 Signed-off-by: John Crispin 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 3a8475a63dd..96bc0e5fb11 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))) {