Signed-off-by: Cong Wang xiyou.wangc...@gmail.com
---
net/sched/sch_choke.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/net/sched/sch_choke.c b/net/sched/sch_choke.c
index 93d5742..6a783af 100644
--- a/net/sched/sch_choke.c
+++ b/net/sched/sch_choke.c
@@ -385,6 +385,19 @@ static void choke_reset(struct Qdisc *sch)
{
struct choke_sched_data *q = qdisc_priv(sch);
+ while (q-head != q-tail) {
+ struct sk_buff *skb = q-tab[q-head];
+
+ q-head = (q-head + 1) q-tab_mask;
+ if (!skb)
+ continue;
+ qdisc_qstats_backlog_dec(sch, skb);
+ --sch-q.qlen;
+ qdisc_drop(skb, sch);
+ }
+
+ memset(q-tab, 0, (q-tab_mask + 1) * sizeof(struct sk_buff *));
+ q-head = q-tail = 0;
red_restart(q-vars);
}
--
1.8.3.1
--
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html