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>
 
        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;
                return len;
        }
 
-       red_start_of_idle_period(&q->parms);
+       if (!red_is_idling(&q->parms))
+               red_start_of_idle_period(&q->parms);
+
        return 0;
 }