diff options
-rw-r--r-- | net/sched/sch_gred.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sched/sch_gred.c b/net/sched/sch_gred.c index 1fb34be32f7c..69f0fd45d4c3 100644 --- a/net/sched/sch_gred.c +++ b/net/sched/sch_gred.c | |||
@@ -267,7 +267,7 @@ static struct sk_buff *gred_dequeue(struct Qdisc* sch) | |||
267 | return skb; | 267 | return skb; |
268 | } | 268 | } |
269 | 269 | ||
270 | if (gred_wred_mode(t)) | 270 | if (gred_wred_mode(t) && !red_is_idling(&t->wred_set)) |
271 | red_start_of_idle_period(&t->wred_set); | 271 | red_start_of_idle_period(&t->wred_set); |
272 | 272 | ||
273 | return NULL; | 273 | return NULL; |
@@ -301,7 +301,7 @@ static unsigned int gred_drop(struct Qdisc* sch) | |||
301 | return len; | 301 | return len; |
302 | } | 302 | } |
303 | 303 | ||
304 | if (gred_wred_mode(t)) | 304 | if (gred_wred_mode(t) && !red_is_idling(&t->wred_set)) |
305 | red_start_of_idle_period(&t->wred_set); | 305 | red_start_of_idle_period(&t->wred_set); |
306 | 306 | ||
307 | return 0; | 307 | return 0; |