patch-2.4.22 linux-2.4.22/net/sched/sch_gred.c
Next file: linux-2.4.22/net/sched/sch_htb.c
Previous file: linux-2.4.22/net/sched/sch_fifo.c
Back to the patch index
Back to the overall index
-  Lines: 38
-  Date:
2003-08-25 04:44:44.000000000 -0700
-  Orig file: 
linux-2.4.21/net/sched/sch_gred.c
-  Orig date: 
2003-06-13 07:51:39.000000000 -0700
diff -urN linux-2.4.21/net/sched/sch_gred.c linux-2.4.22/net/sched/sch_gred.c
@@ -259,8 +259,7 @@
 	return NULL;
 }
 
-static int
-gred_drop(struct Qdisc* sch)
+static unsigned int gred_drop(struct Qdisc* sch)
 {
 	struct sk_buff *skb;
 
@@ -269,20 +268,21 @@
 
 	skb = __skb_dequeue_tail(&sch->q);
 	if (skb) {
-		sch->stats.backlog -= skb->len;
+		unsigned int len = skb->len;
+		sch->stats.backlog -= len;
 		sch->stats.drops++;
 		q= t->tab[(skb->tc_index&0xf)];
 		if (q) {
-			q->backlog -= skb->len;
+			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); 
-			}
+		} else {
+			D2PRINTK("gred_dequeue: skb has bad tcindex %x\n",skb->tc_index&0xf); 
+		}
 
 		kfree_skb(skb);
-		return 1;
+		return len;
 	}
 
 	q=t->tab[t->def];
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)