Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6ac644a8 authored by WANG Cong's avatar WANG Cong Committed by David S. Miller
Browse files

sch_hhf: fix return value of hhf_drop()



Similar to commit c0afd9ce ("fq_codel: fix return value of fq_codel_drop()")
->drop() is supposed to return the number of bytes it dropped,
but hhf_drop () returns the id of the bucket where it drops
a packet from.

Cc: Jamal Hadi Salim <jhs@mojatatu.com>
Cc: Terry Lam <vtlam@google.com>
Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarCong Wang <cwang@twopensource.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ca7beb1f
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -368,6 +368,15 @@ static unsigned int hhf_drop(struct Qdisc *sch)
	return bucket - q->buckets;
}

static unsigned int hhf_qdisc_drop(struct Qdisc *sch)
{
	unsigned int prev_backlog;

	prev_backlog = sch->qstats.backlog;
	hhf_drop(sch);
	return prev_backlog - sch->qstats.backlog;
}

static int hhf_enqueue(struct sk_buff *skb, struct Qdisc *sch)
{
	struct hhf_sched_data *q = qdisc_priv(sch);
@@ -696,7 +705,7 @@ static struct Qdisc_ops hhf_qdisc_ops __read_mostly = {
	.enqueue	=	hhf_enqueue,
	.dequeue	=	hhf_dequeue,
	.peek		=	qdisc_peek_dequeued,
	.drop		=	hhf_drop,
	.drop		=	hhf_qdisc_drop,
	.init		=	hhf_init,
	.reset		=	hhf_reset,
	.destroy	=	hhf_destroy,