}
 
 struct qdisc_watchdog {
-       u64             last_expires;
        struct hrtimer  timer;
        struct Qdisc    *qdisc;
 };
 
                return;
 
        if (hrtimer_is_queued(&wd->timer)) {
+               u64 softexpires;
+
+               softexpires = ktime_to_ns(hrtimer_get_softexpires(&wd->timer));
                /* If timer is already set in [expires, expires + delta_ns],
                 * do not reprogram it.
                 */
-               if (wd->last_expires - expires <= delta_ns)
+               if (softexpires - expires <= delta_ns)
                        return;
        }
 
-       wd->last_expires = expires;
        hrtimer_start_range_ns(&wd->timer,
                               ns_to_ktime(expires),
                               delta_ns,