|
@@ -545,9 +545,10 @@ static void cbq_ovl_delay(struct cbq_class *cl)
|
|
|
expires = ktime_set(0, 0);
|
|
|
expires = ktime_add_ns(expires, PSCHED_US2NS(sched));
|
|
|
if (hrtimer_try_to_cancel(&q->delay_timer) &&
|
|
|
- ktime_to_ns(ktime_sub(q->delay_timer.expires,
|
|
|
- expires)) > 0)
|
|
|
- q->delay_timer.expires = expires;
|
|
|
+ ktime_to_ns(ktime_sub(
|
|
|
+ hrtimer_get_expires(&q->delay_timer),
|
|
|
+ expires)) > 0)
|
|
|
+ hrtimer_set_expires(&q->delay_timer, expires);
|
|
|
hrtimer_restart(&q->delay_timer);
|
|
|
cl->delayed = 1;
|
|
|
cl->xstats.overactions++;
|