summaryrefslogtreecommitdiffstats
path: root/net/sched/sch_fifo.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-02-21 09:43:56 +0100
committerTejun Heo <tj@kernel.org>2011-02-21 09:43:56 +0100
commit43d133c18b44e7d82d82ef0dcc2bddd55d5dfe81 (patch)
tree8de75c837b55874cc8a81a29bdedbc62668d4481 /net/sched/sch_fifo.c
parent4149efb22da66e326fc48baf80d628834509f7f0 (diff)
parent6f576d57f1fa0d6026b495d8746d56d949989161 (diff)
downloadop-kernel-dev-43d133c18b44e7d82d82ef0dcc2bddd55d5dfe81.zip
op-kernel-dev-43d133c18b44e7d82d82ef0dcc2bddd55d5dfe81.tar.gz
Merge branch 'master' into for-2.6.39
Diffstat (limited to 'net/sched/sch_fifo.c')
-rw-r--r--net/sched/sch_fifo.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/sched/sch_fifo.c b/net/sched/sch_fifo.c
index aa4d633..d468b47 100644
--- a/net/sched/sch_fifo.c
+++ b/net/sched/sch_fifo.c
@@ -46,17 +46,14 @@ static int pfifo_enqueue(struct sk_buff *skb, struct Qdisc* sch)
static int pfifo_tail_enqueue(struct sk_buff *skb, struct Qdisc* sch)
{
- struct sk_buff *skb_head;
struct fifo_sched_data *q = qdisc_priv(sch);
if (likely(skb_queue_len(&sch->q) < q->limit))
return qdisc_enqueue_tail(skb, sch);
/* queue full, remove one skb to fulfill the limit */
- skb_head = qdisc_dequeue_head(sch);
+ __qdisc_queue_drop_head(sch, &sch->q);
sch->qstats.drops++;
- kfree_skb(skb_head);
-
qdisc_enqueue_tail(skb, sch);
return NET_XMIT_CN;
OpenPOWER on IntegriCloud