diff options
| author | Ingo Molnar <mingo@kernel.org> | 2016-05-05 08:35:00 +0200 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2016-05-05 08:35:00 +0200 |
| commit | 1fb48f8e54e5ed4d3d8599ba7e83f1f60530c81c (patch) | |
| tree | 6b8c1ccdd461e211f72c674d183f5129f5fe4a5b /net/sched/sch_generic.c | |
| parent | 778843f934e362ed4ed734520f60a44a78a074b4 (diff) | |
| parent | 04974df8049fc4240d22759a91e035082ccd18b4 (diff) | |
Merge tag 'v4.6-rc6' into x86/asm, to refresh the tree
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'net/sched/sch_generic.c')
| -rw-r--r-- | net/sched/sch_generic.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index f18c35024207..80742edea96f 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c @@ -159,12 +159,15 @@ int sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q, if (validate) skb = validate_xmit_skb_list(skb, dev); - if (skb) { + if (likely(skb)) { HARD_TX_LOCK(dev, txq, smp_processor_id()); if (!netif_xmit_frozen_or_stopped(txq)) skb = dev_hard_start_xmit(skb, dev, txq, &ret); HARD_TX_UNLOCK(dev, txq); + } else { + spin_lock(root_lock); + return qdisc_qlen(q); } spin_lock(root_lock); |
