diff options
author | Dave Airlie <airlied@redhat.com> | 2022-02-04 15:48:26 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2022-02-04 15:48:27 +1000 |
commit | 9ca3d3cd0857523c95ab8cdbb6cfe47b8f90e309 (patch) | |
tree | fb4f74697e0cbad23e60211d106173ec6de39b37 /drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | |
parent | 8ea2c5187d7b4901a70374415e772f1db422fb74 (diff) | |
parent | 7d73c602154df56802a9e75ac212505fc1e9a2b6 (diff) | |
download | linux-9ca3d3cd0857523c95ab8cdbb6cfe47b8f90e309.tar.gz linux-9ca3d3cd0857523c95ab8cdbb6cfe47b8f90e309.tar.bz2 linux-9ca3d3cd0857523c95ab8cdbb6cfe47b8f90e309.zip |
Merge tag 'drm-intel-fixes-2022-02-03' of git://anongit.freedesktop.org/drm/drm-intel into drm-fixes
Fix GitLab issue #4698: DP monitor through Type-C dock(Dell DA310) doesn't work.
Fixes for inconsistent engine busyness value and read timeout with GuC.
Fix to use ALLOW_FAIL for error capture buffer allocation. Don't use
interruptible lock on error path. Smatch fix to reject zero sized overlays.
Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/YfuiG8SKMKP5V/Dm@jlahtine-mobl.ger.corp.intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c')
-rw-r--r-- | drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c index 3a5b247be738..1736efa43339 100644 --- a/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -2505,9 +2505,14 @@ static int eb_pin_timeline(struct i915_execbuffer *eb, struct intel_context *ce, timeout) < 0) { i915_request_put(rq); - tl = intel_context_timeline_lock(ce); + /* + * Error path, cannot use intel_context_timeline_lock as + * that is user interruptable and this clean up step + * must be done. + */ + mutex_lock(&ce->timeline->mutex); intel_context_exit(ce); - intel_context_timeline_unlock(tl); + mutex_unlock(&ce->timeline->mutex); if (nonblock) return -EWOULDBLOCK; |