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

Commit b3a62519 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller
Browse files

[PKT_SCHED] HTB: initialize upper bound properly



The upper bound for HTB time diff needs to be scaled to PSCHED
units rather than just assuming usecs.  The field mbuffer is used
in TDIFF_SAFE(), as an upper bound.

Signed-off-by: default avatarStephen Hemminger <shemminger@osdl.org>
Acked-by: default avatarJamal Hadi Salim <hadi@cyberus.ca>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 53602f92
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -196,7 +196,7 @@ struct htb_class
    struct qdisc_rate_table *rate;	/* rate table of the class itself */
    struct qdisc_rate_table *ceil;	/* ceiling rate (limits borrows too) */
    long buffer,cbuffer;		/* token bucket depth/rate */
    long mbuffer;			/* max wait time */
    psched_tdiff_t mbuffer;		/* max wait time */
    long tokens,ctokens;		/* current number of tokens */
    psched_time_t t_c;			/* checkpoint time */
};
@@ -1601,7 +1601,7 @@ static int htb_change_class(struct Qdisc *sch, u32 classid,
		/* set class to be in HTB_CAN_SEND state */
		cl->tokens = hopt->buffer;
		cl->ctokens = hopt->cbuffer;
		cl->mbuffer = 60000000; /* 1min */
		cl->mbuffer = PSCHED_JIFFIE2US(HZ*60) /* 1min */
		PSCHED_GET_TIME(cl->t_c);
		cl->cmode = HTB_CAN_SEND;