aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_cbq.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_cbq.c')
-rw-r--r--net/sched/sch_cbq.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c
index 290b26bdc89d..9e6cdab6af3b 100644
--- a/net/sched/sch_cbq.c
+++ b/net/sched/sch_cbq.c
@@ -390,7 +390,7 @@ cbq_mark_toplevel(struct cbq_sched_data *q, struct cbq_class *cl)
390 now = q->now + incr; 390 now = q->now + incr;
391 391
392 do { 392 do {
393 if (PSCHED_TLESS(cl->undertime, now)) { 393 if (cl->undertime < now) {
394 q->toplevel = cl->level; 394 q->toplevel = cl->level;
395 return; 395 return;
396 } 396 }
@@ -845,8 +845,7 @@ cbq_under_limit(struct cbq_class *cl)
845 if (cl->tparent == NULL) 845 if (cl->tparent == NULL)
846 return cl; 846 return cl;
847 847
848 if (PSCHED_IS_PASTPERFECT(cl->undertime) || 848 if (PSCHED_IS_PASTPERFECT(cl->undertime) || q->now >= cl->undertime) {
849 !PSCHED_TLESS(q->now, cl->undertime)) {
850 cl->delayed = 0; 849 cl->delayed = 0;
851 return cl; 850 return cl;
852 } 851 }
@@ -870,7 +869,7 @@ cbq_under_limit(struct cbq_class *cl)
870 if (cl->level > q->toplevel) 869 if (cl->level > q->toplevel)
871 return NULL; 870 return NULL;
872 } while (!PSCHED_IS_PASTPERFECT(cl->undertime) && 871 } while (!PSCHED_IS_PASTPERFECT(cl->undertime) &&
873 PSCHED_TLESS(q->now, cl->undertime)); 872 q->now < cl->undertime);
874 873
875 cl->delayed = 0; 874 cl->delayed = 0;
876 return cl; 875 return cl;