aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 241613f6dd2f..5eb3e48ab31d 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1698,6 +1698,8 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
1698 skb->dst = NULL; 1698 skb->dst = NULL;
1699 } 1699 }
1700 rc = ops->ndo_start_xmit(skb, dev); 1700 rc = ops->ndo_start_xmit(skb, dev);
1701 if (rc == 0)
1702 txq_trans_update(txq);
1701 /* 1703 /*
1702 * TODO: if skb_orphan() was called by 1704 * TODO: if skb_orphan() was called by
1703 * dev->hard_start_xmit() (for example, the unmodified 1705 * dev->hard_start_xmit() (for example, the unmodified
@@ -1727,6 +1729,7 @@ gso:
1727 skb->next = nskb; 1729 skb->next = nskb;
1728 return rc; 1730 return rc;
1729 } 1731 }
1732 txq_trans_update(txq);
1730 if (unlikely(netif_tx_queue_stopped(txq) && skb->next)) 1733 if (unlikely(netif_tx_queue_stopped(txq) && skb->next))
1731 return NETDEV_TX_BUSY; 1734 return NETDEV_TX_BUSY;
1732 } while (skb->next); 1735 } while (skb->next);