virtio_net: flush when in xmit_more mode and under descriptor pressure
authorDavid S. Miller <davem@davemloft.net>
Thu, 28 Aug 2014 08:39:49 +0000 (01:39 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Aug 2014 08:39:49 +0000 (01:39 -0700)
Mirror the changes made to ixgbe in commit 2367a17390138f68b3aa28f2f220b8d7ff8d91f4
("ixgbe: flush when in xmit_more mode and under descriptor pressure")

Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/virtio_net.c

index f0c2824f5e0f79a13a6ec94064a78ae30911b0fc..9359a13d285ad19bf33602f514b8275fb8e725d1 100644 (file)
@@ -953,7 +953,7 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev)
                }
        }
 
-       if (!skb->xmit_more)
+       if (__netif_subqueue_stopped(dev, qnum) || !skb->xmit_more)
                virtqueue_kick(sq->vq);
 
        return NETDEV_TX_OK;