OSDN Git Service

drm/i915: Avoid setting timer->expires to 0
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 Apr 2020 07:36:57 +0000 (08:36 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 Apr 2020 15:33:09 +0000 (16:33 +0100)
We use timer->expires == 0 to detect if a timer had been cancelled, but
it's a valid expiration we could set. Just skip using 0 and set the
expiry for the next jiffie.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200403073657.13427-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_utils.c

index 029854a..e28eae4 100644 (file)
@@ -101,5 +101,6 @@ void set_timer_ms(struct timer_list *t, unsigned long timeout)
         */
        barrier();
 
-       mod_timer(t, jiffies + timeout);
+       /* Keep t->expires = 0 reserved to indicate a canceled timer. */
+       mod_timer(t, jiffies + timeout ?: 1);
 }