]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drivers: net: ethernet: cpsw: use netif_wake_queue() while restarting tx queue
authorMugunthan V N <mugunthanvnm@ti.com>
Wed, 27 Mar 2013 04:41:59 +0000 (04:41 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 5 Apr 2013 16:26:18 +0000 (09:26 -0700)
[ Upstream commit b56d6b3fca6d1214dbc9c5655f26e5d4ec04afc8 ]

To restart tx queue use netif_wake_queue() intead of netif_start_queue()
so that net schedule will restart transmission immediately which will
increase network performance while doing huge data transfers.

Reported-by: Dan Franke <dan.franke@schneider-electric.com>
Suggested-by: Sriramakrishnan A G <srk@ti.com>
Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/ti/cpsw.c

index 40aff684aa23af64fc3ff03f0c5a54df798c0484..b85ca6b2c19bb18cbdc16edaf63a2251bbf0819d 100644 (file)
@@ -375,7 +375,7 @@ void cpsw_tx_handler(void *token, int len, int status)
        struct cpsw_priv        *priv = netdev_priv(ndev);
 
        if (unlikely(netif_queue_stopped(ndev)))
-               netif_start_queue(ndev);
+               netif_wake_queue(ndev);
        cpts_tx_timestamp(&priv->cpts, skb);
        priv->stats.tx_packets++;
        priv->stats.tx_bytes += len;