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;
}