]> Git Repo - linux.git/commit
drm/i915: Filter wake_flags passed to default_wake_function
authorChris Wilson <[email protected]>
Tue, 28 Jul 2020 15:21:44 +0000 (16:21 +0100)
committerJoonas Lahtinen <[email protected]>
Mon, 7 Sep 2020 12:08:08 +0000 (15:08 +0300)
commitf4b3c395540aa3d4f5a6275c5bdd83ab89034806
tree7738cb1cd756ec915c0cda536bf67d390a26ccbb
parent2e4c6c1a9db5e12556a12ea722df71096247e178
drm/i915: Filter wake_flags passed to default_wake_function

(NOTE: This is the minimal backportable fix, a full fix is being
developed at https://patchwork.freedesktop.org/patch/388048/)

The flags passed to the wait_entry.func are passed onwards to
try_to_wake_up(), which has a very particular interpretation for its
wake_flags. In particular, beyond the published WF_SYNC, it has a few
internal flags as well. Since we passed the fence->error down the chain
via the flags argument, these ended up in the default_wake_function
confusing the kernel/sched.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2110
Fixes: ef4688497512 ("drm/i915: Propagate fence errors")
Signed-off-by: Chris Wilson <[email protected]>
Cc: Matthew Auld <[email protected]>
Cc: <[email protected]> # v5.4+
Reviewed-by: Matthew Auld <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Rodrigo Vivi <[email protected]>
[Joonas: Rebased and reordered into drm-intel-gt-next branch]
[Joonas: Added a note and link about more complete fix]
Signed-off-by: Joonas Lahtinen <[email protected]>
drivers/gpu/drm/i915/i915_sw_fence.c
This page took 0.058513 seconds and 4 git commands to generate.