diff --git a/[refs] b/[refs] index 7849146338ce..a5f4e5e73ca3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 96edf83c4e284c08584f97623f7c7f029759459e +refs/heads/master: 033d899904792d3501b7dd469495ca9138424ec3 diff --git a/trunk/net/sched/sch_htb.c b/trunk/net/sched/sch_htb.c index a85935e7d53d..558cc087e602 100644 --- a/trunk/net/sched/sch_htb.c +++ b/trunk/net/sched/sch_htb.c @@ -717,6 +717,10 @@ static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch) if (q->direct_queue.qlen < q->direct_qlen) { __skb_queue_tail(&q->direct_queue, skb); q->direct_pkts++; + } else { + kfree_skb(skb); + sch->qstats.drops++; + return NET_XMIT_DROP; } #ifdef CONFIG_NET_CLS_ACT } else if (!cl) {