summaryrefslogtreecommitdiffstats
path: root/net/core/dev.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2014-08-29 21:57:30 -0700
committerDavid S. Miller <davem@davemloft.net>2014-09-01 17:39:55 -0700
commit95f6b3dda2a4a052f7dabe9998e4ffac491b7bc2 (patch)
tree91002d97f86a2030f051f361697c482338070965 /net/core/dev.c
parentfa2dbdc253c2aee2a760c64de454cb62469ec11d (diff)
downloadlinux-95f6b3dda2a4a052f7dabe9998e4ffac491b7bc2.tar.bz2
net: Have xmit_list() signal more==true when appropriate.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r--net/core/dev.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index f0ed5a611a97..6d82194e414b 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2600,7 +2600,7 @@ netdev_features_t netif_skb_features(struct sk_buff *skb)
EXPORT_SYMBOL(netif_skb_features);
static int xmit_one(struct sk_buff *skb, struct net_device *dev,
- struct netdev_queue *txq)
+ struct netdev_queue *txq, bool more)
{
unsigned int len;
int rc;
@@ -2610,7 +2610,7 @@ static int xmit_one(struct sk_buff *skb, struct net_device *dev,
len = skb->len;
trace_net_dev_start_xmit(skb, dev);
- rc = netdev_start_xmit(skb, dev, txq, false);
+ rc = netdev_start_xmit(skb, dev, txq, more);
trace_net_dev_xmit(skb, rc, dev, len);
return rc;
@@ -2626,7 +2626,7 @@ static struct sk_buff *xmit_list(struct sk_buff *first, struct net_device *dev,
struct sk_buff *next = skb->next;
skb->next = NULL;
- rc = xmit_one(skb, dev, txq);
+ rc = xmit_one(skb, dev, txq, next != NULL);
if (unlikely(!dev_xmit_complete(rc))) {
skb->next = next;
goto out;
@@ -2705,7 +2705,7 @@ int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev,
}
}
- return xmit_one(skb, dev, txq);
+ return xmit_one(skb, dev, txq, false);
}
gso: