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.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 357111431ec9..676c9418f8e4 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3468,6 +3468,15 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q,
3468 if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) { 3468 if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) {
3469 __qdisc_drop(skb, &to_free); 3469 __qdisc_drop(skb, &to_free);
3470 rc = NET_XMIT_DROP; 3470 rc = NET_XMIT_DROP;
3471 } else if ((q->flags & TCQ_F_CAN_BYPASS) && q->empty &&
3472 qdisc_run_begin(q)) {
3473 qdisc_bstats_cpu_update(q, skb);
3474
3475 if (sch_direct_xmit(skb, q, dev, txq, NULL, true))
3476 __qdisc_run(q);
3477
3478 qdisc_run_end(q);
3479 rc = NET_XMIT_SUCCESS;
3471 } else { 3480 } else {
3472 rc = q->enqueue(skb, q, &to_free) & NET_XMIT_MASK; 3481 rc = q->enqueue(skb, q, &to_free) & NET_XMIT_MASK;
3473 qdisc_run(q); 3482 qdisc_run(q);