aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/gpu/drm/i915/i915_request.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-12-13 16:03:47 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2019-12-13 20:16:23 +0000
commitf1925f3309d13d431f70e7b6b72ba59cae90fdff (patch)
tree1042010629454f562d2a8fab9a96aba7a4fdf237 /drivers/gpu/drm/i915/i915_request.c
parentdrm/i915: Introduce new macros for tracing (diff)
downloadwireguard-linux-f1925f3309d13d431f70e7b6b72ba59cae90fdff.tar.xz
wireguard-linux-f1925f3309d13d431f70e7b6b72ba59cae90fdff.zip
drm/i915: Use EAGAIN for trylock failures
While not good behaviour, it is, however, established behaviour that we can punt EAGAIN to userspace if we need to retry the ioctl. When trying to acquire a mutex, prefer to use EAGAIN to propagate losing the race so that if it does end up back in userspace, we try again. Fixes: c81471f5e95c ("drm/i915: Copy across scheduler behaviour flags across submit fences") Closes: https://gitlab.freedesktop.org/drm/intel/issues/800 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191213160347.1789004-1-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_request.c')
-rw-r--r--drivers/gpu/drm/i915/i915_request.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
index c6d59d263550..af2f78e040d7 100644
--- a/drivers/gpu/drm/i915/i915_request.c
+++ b/drivers/gpu/drm/i915/i915_request.c
@@ -771,7 +771,7 @@ i915_request_await_start(struct i915_request *rq, struct i915_request *signal)
if (!tl) /* already started or maybe even completed */
return 0;
- fence = ERR_PTR(-EBUSY);
+ fence = ERR_PTR(-EAGAIN);
if (mutex_trylock(&tl->mutex)) {
fence = NULL;
if (!i915_request_started(signal) &&