mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 07:04:24 +00:00
drm/i915: Take request reference before arming the watchdog timer
Reference needs to be taken before arming the timer. Luckily, given the
default timer period of 20s, the potential to hit the race is extremely
unlikely.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Fixes: 9b4d0598ee
("drm/i915: Request watchdog infrastructure")
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210326105759.2387104-1-tvrtko.ursulin@linux.intel.com
This commit is contained in:
parent
cade4696ff
commit
f7c3797791
1 changed files with 2 additions and 1 deletions
|
@ -350,6 +350,8 @@ static void __rq_arm_watchdog(struct i915_request *rq)
|
|||
if (!ce->watchdog.timeout_us)
|
||||
return;
|
||||
|
||||
i915_request_get(rq);
|
||||
|
||||
hrtimer_init(&wdg->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
|
||||
wdg->timer.function = __rq_watchdog_expired;
|
||||
hrtimer_start_range_ns(&wdg->timer,
|
||||
|
@ -357,7 +359,6 @@ static void __rq_arm_watchdog(struct i915_request *rq)
|
|||
NSEC_PER_USEC),
|
||||
NSEC_PER_MSEC,
|
||||
HRTIMER_MODE_REL);
|
||||
i915_request_get(rq);
|
||||
}
|
||||
|
||||
static void __rq_cancel_watchdog(struct i915_request *rq)
|
||||
|
|
Loading…
Reference in a new issue