diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 93ed7bac9..e0e16b0fd 100755 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c @@ -733,10 +733,11 @@ deliver: err = qdisc_enqueue(skb, q->qdisc, &to_free); kfree_skb_list(to_free); - if (err != NET_XMIT_SUCCESS) { - if (net_xmit_drop_count(err)) - qdisc_qstats_drop(sch); - qdisc_tree_reduce_backlog(sch, 1, pkt_len); + if (err != NET_XMIT_SUCCESS && + net_xmit_drop_count(err)) { + qdisc_qstats_drop(sch); + qdisc_tree_reduce_backlog(sch, 1, + pkt_len); } goto tfifo_dequeue; }