diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2021-02-01 08:56:22 +0000 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2021-03-24 19:30:36 +0100 |
commit | c10e4a7960f3032b0313c4b684e0b4025b4c138d (patch) | |
tree | 8461d400de755aadba6c9dcf67c58cc81147a003 /drivers/gpu/drm/i915/i915_request.h | |
parent | d712f4ce25d3935d6e124a84f7f8d640ab0da611 (diff) | |
download | linux-c10e4a7960f3032b0313c4b684e0b4025b4c138d.tar.gz linux-c10e4a7960f3032b0313c4b684e0b4025b4c138d.tar.bz2 linux-c10e4a7960f3032b0313c4b684e0b4025b4c138d.zip |
drm/i915: Protect against request freeing during cancellation on wedging
As soon as we mark a request as completed, it may be retired. So when
cancelling a request and marking it complete, make sure we first keep a
reference to the request.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210201085715.27435-4-chris@chris-wilson.co.uk
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_request.h')
-rw-r--r-- | drivers/gpu/drm/i915/i915_request.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_request.h b/drivers/gpu/drm/i915/i915_request.h index 1bfe214a47e9..c0bd4cb8786a 100644 --- a/drivers/gpu/drm/i915/i915_request.h +++ b/drivers/gpu/drm/i915/i915_request.h @@ -311,7 +311,7 @@ i915_request_create(struct intel_context *ce); void __i915_request_skip(struct i915_request *rq); void i915_request_set_error_once(struct i915_request *rq, int error); -void i915_request_mark_eio(struct i915_request *rq); +struct i915_request *i915_request_mark_eio(struct i915_request *rq); struct i915_request *__i915_request_commit(struct i915_request *request); void __i915_request_queue(struct i915_request *rq, |