diff options
-rw-r--r-- | net/sched/sch_cbq.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/sched/sch_cbq.c b/net/sched/sch_cbq.c index 8b06fa900482..03e389e8d945 100644 --- a/net/sched/sch_cbq.c +++ b/net/sched/sch_cbq.c | |||
@@ -545,9 +545,10 @@ static void cbq_ovl_delay(struct cbq_class *cl) | |||
545 | expires = ktime_set(0, 0); | 545 | expires = ktime_set(0, 0); |
546 | expires = ktime_add_ns(expires, PSCHED_US2NS(sched)); | 546 | expires = ktime_add_ns(expires, PSCHED_US2NS(sched)); |
547 | if (hrtimer_try_to_cancel(&q->delay_timer) && | 547 | if (hrtimer_try_to_cancel(&q->delay_timer) && |
548 | ktime_to_ns(ktime_sub(q->delay_timer.expires, | 548 | ktime_to_ns(ktime_sub( |
549 | expires)) > 0) | 549 | hrtimer_get_expires(&q->delay_timer), |
550 | q->delay_timer.expires = expires; | 550 | expires)) > 0) |
551 | hrtimer_set_expires(&q->delay_timer, expires); | ||
551 | hrtimer_restart(&q->delay_timer); | 552 | hrtimer_restart(&q->delay_timer); |
552 | cl->delayed = 1; | 553 | cl->delayed = 1; |
553 | cl->xstats.overactions++; | 554 | cl->xstats.overactions++; |