if (!q->backlog && !t->eqp) 
if (!q->backlog && !gred_wred_mode(t)) 
static unsigned int gred_drop(struct Qdisc* sch){	struct sk_buff *skb;	struct gred_sched_data *q;	struct gred_sched *t= qdisc_priv(sch);	skb = __skb_dequeue_tail(&sch->q);	if (skb) {		unsigned int len = skb->len;		sch->qstats.backlog -= len;		sch->qstats.drops++;		q= t->tab[(skb->tc_index&0xf)];		if (q) {			q->backlog -= len;			q->other++;			if (!q->backlog && !t->eqp)				PSCHED_GET_TIME(q->qidlestart);		} else {			D2PRINTK("gred_dequeue: skb has bad tcindex %x\n",skb->tc_index&0xf); 		}		kfree_skb(skb);		return len;	}	q=t->tab[t->def];	if (!q) {		D2PRINTK("no default VQ set: Results might be screwed up\n");		return 0;	}	PSCHED_GET_TIME(q->qidlestart);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/dea3f62852f98670b72ad355c67bd55c9af58530/sch_gred.c/buggy/net/sched/sch_gred.c