|
@@ -729,7 +729,7 @@ static void htb_charge_class(struct htb_sched *q, struct htb_class *cl,
|
|
|
cl->T = toks
|
|
|
|
|
|
while (cl) {
|
|
|
- diff = PSCHED_TDIFF_SAFE(q->now, cl->t_c, (u32) cl->mbuffer);
|
|
|
+ diff = psched_tdiff_bounded(q->now, cl->t_c, cl->mbuffer);
|
|
|
if (cl->level >= level) {
|
|
|
if (cl->level == level)
|
|
|
cl->xstats.lends++;
|
|
@@ -789,7 +789,7 @@ static psched_time_t htb_do_events(struct htb_sched *q, int level)
|
|
|
return cl->pq_key;
|
|
|
|
|
|
htb_safe_rb_erase(p, q->wait_pq + level);
|
|
|
- diff = PSCHED_TDIFF_SAFE(q->now, cl->t_c, (u32) cl->mbuffer);
|
|
|
+ diff = psched_tdiff_bounded(q->now, cl->t_c, cl->mbuffer);
|
|
|
htb_change_class_mode(q, cl, &diff);
|
|
|
if (cl->cmode != HTB_CAN_SEND)
|
|
|
htb_add_to_wait_tree(q, cl, diff);
|