[PKT_SCHED]: RED: Dont start idle periods while already idling
We should not interrupt and restart an idle period while idling already.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
diff --git a/net/sched/sch_red.c b/net/sched/sch_red.c
index d5e934c..76e8df8 100644
--- a/net/sched/sch_red.c
+++ b/net/sched/sch_red.c
@@ -135,7 +135,7 @@
skb = qdisc_dequeue_head(sch);
- if (skb == NULL)
+ if (skb == NULL && !red_is_idling(&q->parms))
red_start_of_idle_period(&q->parms);
return skb;
@@ -154,7 +154,9 @@
return len;
}
- red_start_of_idle_period(&q->parms);
+ if (!red_is_idling(&q->parms))
+ red_start_of_idle_period(&q->parms);
+
return 0;
}